From 4a34b27c1c6c3fea2b336c0316c597d74460b428 Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 7 Jun 2016 03:14:21 +0200 Subject: krebs.git.cgit: make `cache-root` configurable ... along with all the other stuff :) --- tv/2configs/git.nix | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'tv') diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index 2e5fc301..9bcf8f31 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -7,8 +7,12 @@ let out = { krebs.git = { enable = true; - root-title = "repositories at ${config.krebs.build.host.name}"; - root-desc = "mostly krebs"; + cgit = { + settings = { + root-title = "repositories at ${config.krebs.build.host.name}"; + root-desc = "mostly krebs"; + }; + }; repos = repos; rules = rules; }; @@ -21,9 +25,9 @@ let rules = concatMap make-rules (attrValues repos); public-repos = mapAttrs make-public-repo ({ - } // mapAttrValues (setAttr "section" "1. miscellaneous") { + } // mapAttrs (_: recursiveUpdate { cgit.section = "1. miscellaneous"; }) { cac-api = { - desc = "CloudAtCost API command line interface"; + cgit.desc = "CloudAtCost API command line interface"; }; get = {}; hack = {}; @@ -35,13 +39,13 @@ let push = {}; regfish = {}; soundcloud = { - desc = "SoundCloud command line interface"; + cgit.desc = "SoundCloud command line interface"; }; stockholm = { - desc = "NixOS configuration"; + cgit.desc = "NixOS configuration"; }; with-tmpdir = {}; - } // mapAttrValues (setAttr "section" "2. Haskell libraries") { + } // mapAttrs (_: recursiveUpdate { cgit.section = "2. Haskell libraries"; }) { blessings = {}; mime = {}; quipper = {}; @@ -50,7 +54,7 @@ let web-routes-wai-custom = {}; xintmap = {}; xmonad-stockholm = {}; - } // mapAttrValues (setAttr "section" "3. museum") { + } // mapAttrs (_: recursiveUpdate { cgit.section = "3. museum"; }) { cgserver = {}; crude-mail-setup = {}; dot-xmonad = {}; @@ -68,8 +72,8 @@ let import { inherit config lib pkgs; } ); - make-public-repo = name: { desc ? null, section ? null, ... }: { - inherit name desc section; + make-public-repo = name: { cgit ? {}, ... }: { + inherit cgit name; public = true; hooks = optionalAttrs (config.krebs.build.host.name == "cd") { post-receive = pkgs.git-hooks.irc-announce { @@ -82,8 +86,8 @@ let }; }; - make-restricted-repo = name: { collaborators ? [], desc ? null, ... }: { - inherit name collaborators desc; + make-restricted-repo = name: { collaborators ? [], ... }: { + inherit collaborators name; public = false; }; -- cgit v1.2.3 From 240d338bc587866b5d6dc4f6253221ffb010132b Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 7 Jun 2016 23:11:03 +0200 Subject: tv nixpkgs: 40c586b -> 87fe38f --- tv/2configs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tv') diff --git a/tv/2configs/default.nix b/tv/2configs/default.nix index df5d5da2..741955ee 100644 --- a/tv/2configs/default.nix +++ b/tv/2configs/default.nix @@ -14,7 +14,7 @@ with config.krebs.lib; stockholm = "/home/tv/stockholm"; nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "40c586b7ce2c559374df435f46d673baf711c543"; + rev = "87fe38fd0e19ca83fc3ea338f8e0e7b12971d204"; }; } // optionalAttrs config.krebs.build.host.secure { secrets-master = "/home/tv/secrets/master"; -- cgit v1.2.3 From 72956b5d719d953bab5490f0553e3351118ec01f Mon Sep 17 00:00:00 2001 From: tv Date: Tue, 7 Jun 2016 23:12:18 +0200 Subject: tv q: use saner colors for calendar header and week numbers --- tv/5pkgs/q/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tv') diff --git a/tv/5pkgs/q/default.nix b/tv/5pkgs/q/default.nix index 1d08a544..eeb60030 100644 --- a/tv/5pkgs/q/default.nix +++ b/tv/5pkgs/q/default.nix @@ -13,10 +13,10 @@ let | ${pkgs.gawk}/bin/awk '{printf "%-23s\n", $0}' \ | ${pkgs.gnused}/bin/sed ' # colorize header - 1,2s/.*/&/ + 1,2s/.*/&/ # colorize week number - s/^[ 1-9][0-9]/&/ + s/^[ 1-9][0-9]/&/ ' }''; in '' -- cgit v1.2.3 From f9ebab44e454a436541962790f27d686583cfe30 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 00:53:41 +0200 Subject: tv vim: let {hs,nix}.vim --- tv/2configs/vim.nix | 68 ++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 32 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 10e5aab5..21fb6cd4 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -88,38 +88,9 @@ let \ | hi TrailingSpace ctermbg=88 \ | hi Normal ctermfg=White - au BufRead,BufNewFile *.hs so ${pkgs.writeText "hs.vim" '' - syn region String start=+\[[[:alnum:]]*|+ end=+|]+ - ''} - - au BufRead,BufNewFile *.nix so ${pkgs.writeText "nix.vim" '' - setf nix - set isk=@,48-57,_,192-255,-,' - - " Ref - syn match INT /\<[0-9]\+\>/ - syn match PATH /[a-zA-Z0-9\.\_\-\+]*\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ - syn match HPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ - syn match SPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ - syn match URI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ - hi link INT Constant - hi link PATH Constant - hi link HPATH Constant - hi link SPATH Constant - hi link URI Constant - - syn match String /"\([^\\"]\|\\.\)*"/ - syn match Comment /\(^\|\s\)#.*/ - - " Haskell comments - syn region Comment start=/\(^\|\s\){-#/ end=/#-}/ - syn match Comment /\(^\|\s\)--.*/ - - " Vim comments - syn match Comment /\(^\|\s\)"[^"]*$/ - - let b:current_syntax = "nix" - ''} + au BufRead,BufNewFile *.hs so ${hs.vim} + + au BufRead,BufNewFile *.nix so ${nix.vim} au BufRead,BufNewFile /dev/shm/* set nobackup nowritebackup noswapfile @@ -152,5 +123,38 @@ let noremap [d | noremap! [d vnoremap u ''; + + hs.vim = pkgs.writeText "hs.vim" '' + syn region String start=+\[[[:alnum:]]*|+ end=+|]+ + ''; + + nix.vim = pkgs.writeText "nix.vim" '' + setf nix + set isk=@,48-57,_,192-255,-,' + + " Ref + syn match INT /\<[0-9]\+\>/ + syn match PATH /[a-zA-Z0-9\.\_\-\+]*\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ + syn match HPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ + syn match SPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ + syn match URI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ + hi link INT Constant + hi link PATH Constant + hi link HPATH Constant + hi link SPATH Constant + hi link URI Constant + + syn match String /"\([^\\"]\|\\.\)*"/ + syn match Comment /\(^\|\s\)#.*/ + + " Haskell comments + syn region Comment start=/\(^\|\s\){-#/ end=/#-}/ + syn match Comment /\(^\|\s\)--.*/ + + " Vim comments + syn match Comment /\(^\|\s\)"[^"]*$/ + + let b:current_syntax = "nix" + ''; in out -- cgit v1.2.3 From 94e05ff7c470404464392d8d7b61cd3c502684b5 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 03:19:12 +0200 Subject: tv nix.vim: highlight embedded {Haskell,Vim} --- tv/2configs/vim.nix | 72 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 52 insertions(+), 20 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 21fb6cd4..82d06f63 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -132,27 +132,59 @@ let setf nix set isk=@,48-57,_,192-255,-,' + syn match NixCode /./ + " Ref - syn match INT /\<[0-9]\+\>/ - syn match PATH /[a-zA-Z0-9\.\_\-\+]*\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ - syn match HPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ - syn match SPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ - syn match URI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ - hi link INT Constant - hi link PATH Constant - hi link HPATH Constant - hi link SPATH Constant - hi link URI Constant - - syn match String /"\([^\\"]\|\\.\)*"/ - syn match Comment /\(^\|\s\)#.*/ - - " Haskell comments - syn region Comment start=/\(^\|\s\){-#/ end=/#-}/ - syn match Comment /\(^\|\s\)--.*/ - - " Vim comments - syn match Comment /\(^\|\s\)"[^"]*$/ + syn match NixINT /\<[0-9]\+\>/ + syn match NixPATH /[a-zA-Z0-9\.\_\-\+]*\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ + syn match NixHPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ + syn match NixSPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ + syn match NixURI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ + + syn match NixString /"\([^\\"]\|\\.\)*"/ + syn match NixCommentMatch /\(^\|\s\)#.*/ + syn region NixCommentRegion start="/\*" end="\*/" + + hi NixCode ctermfg=034 + hi NixData ctermfg=040 + + hi link NixComment Comment + hi link NixCommentMatch NixComment + hi link NixCommentRegion NixComment + hi link NixINT NixData + hi link NixPATH NixData + hi link NixHPATH NixData + hi link NixSPATH NixData + hi link NixURI NixData + hi link NixString NixData + + hi link NixEnter NixCode + hi link NixExit NixData + + syn include @HaskellSyntax syntax/haskell.vim + syn region HaskellBlock + \ matchgroup=NixExit + \ start="/\* haskell \*/ '''" + \ skip="''''" + \ end="'''" + \ contains=@HaskellSyntax + unlet b:current_syntax + + syn include @VimSyntax syntax/vim.vim + syn region VimBlock + \ matchgroup=NixExit + \ start="\(/\* vim \*/\|write[-0-9A-Za-z'_]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"\) *'''" + \ skip="''''" + \ end="'''" + \ contains=@VimSyntax + unlet b:current_syntax + + syn region NixBlock + \ matchgroup=NixEnter + \ start="[$]{" + \ end="}" + \ contains=ALL + \ containedin=HaskellBlock,@HaskellSyntax,VimBlock,@VimSyntax let b:current_syntax = "nix" ''; -- cgit v1.2.3 From 104d5a6d47f9b33c3a075f1e4d2ce9ccacc836ae Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 04:22:46 +0200 Subject: tv hack.vim: init at 1.0 --- tv/2configs/vim.nix | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 82d06f63..ee2cbdb1 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -23,6 +23,28 @@ let sha256 = "0z47zq9rqh06ny0q8lpcdsraf3lyzn9xvb59nywnarf3nxrk6hx0"; }; }) + ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let + name = "hack"; + version = "1.0"; + in { + name = "vim-color-${name}-${version}"; + destination = "/colors/${name}.vim"; + text = /* vim */ '' + set background=dark + hi clear + if exists("syntax_on") + syntax clear + endif + + let colors_name = ${toJSON name} + + hi Normal ctermbg=235 + hi Comment ctermfg=240 + + hi Tabstop ctermbg=16 + hi TrailingSpace ctermbg=88 + ''; + }))) ]; dirs = { @@ -79,14 +101,11 @@ let filetype plugin indent on set t_Co=256 - colorscheme industry + colorscheme hack syntax on au Syntax * syn match Tabstop containedin=ALL /\t\+/ - \ | hi Tabstop ctermbg=16 \ | syn match TrailingSpace containedin=ALL /\s\+$/ - \ | hi TrailingSpace ctermbg=88 - \ | hi Normal ctermfg=White au BufRead,BufNewFile *.hs so ${hs.vim} -- cgit v1.2.3 From e88cf24bcf706ec7e5d5af26770345a65a01e894 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 05:44:26 +0200 Subject: tv nix.vim: generate NixSubLangs --- tv/2configs/vim.nix | 52 ++++++++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 20 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index ee2cbdb1..e224df9f 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -179,31 +179,43 @@ let hi link NixEnter NixCode hi link NixExit NixData - - syn include @HaskellSyntax syntax/haskell.vim - syn region HaskellBlock - \ matchgroup=NixExit - \ start="/\* haskell \*/ '''" - \ skip="''''" - \ end="'''" - \ contains=@HaskellSyntax - unlet b:current_syntax - - syn include @VimSyntax syntax/vim.vim - syn region VimBlock - \ matchgroup=NixExit - \ start="\(/\* vim \*/\|write[-0-9A-Za-z'_]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"\) *'''" - \ skip="''''" - \ end="'''" - \ contains=@VimSyntax - unlet b:current_syntax + hi link NixQuote NixData + hi link NixQuote2 NixQuote + hi link NixQuote3 NixQuote + + syn cluster NixSubLangs contains=NONE + + ${concatStringsSep "\n" (mapAttrsToList (name: { start ? null }: let + in /* vim */ '' + syn include @${name}Syntax syntax/${name}.vim + syn region ${name}Block + \ matchgroup=NixExit + \ start="\(/\* ${name} \*/${optionalString (start != null) ''\|${start}''}\) '''" + \ skip="'''\('\|[$]\|\\[nrt]\)" + \ end="'''" + \ contains=@${name}Syntax + syn cluster NixSubLangs add=${name}Block,@${name}Syntax + unlet b:current_syntax + '') { + haskell = {}; + vim.start = ''write[^ ]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"''; + })} syn region NixBlock \ matchgroup=NixEnter \ start="[$]{" \ end="}" - \ contains=ALL - \ containedin=HaskellBlock,@HaskellSyntax,VimBlock,@VimSyntax + \ contains=TOP + \ containedin=@NixSubLangs + + syn region NixBlockHack + \ start="{" + \ end="}" + \ contains=TOP + + syn match NixQuote "'''[$]"he=e-1 contained containedin=@NixSubLangs + syn match NixQuote2 "''''"he=s+1 contained containedin=@NixSubLangs + syn match NixQuote3 "'''\\[nrt]" contained containedin=@NixSubLangs let b:current_syntax = "nix" ''; -- cgit v1.2.3 From 3fca2434b11ec5cefdf154d82967f0d18655dd25 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 05:45:13 +0200 Subject: tv nix.vim: highligh embedded sh --- tv/2configs/vim.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index e224df9f..f9286165 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -198,6 +198,7 @@ let unlet b:current_syntax '') { haskell = {}; + sh.start = ''write\(Ba\|Da\)sh[^ ]* *\"[^\"]*\"''; vim.start = ''write[^ ]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"''; })} -- cgit v1.2.3 From f94ce5630a46210904960af047261339fdaa1afe Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 13:20:29 +0200 Subject: tv hack.vim: minor refactoring --- tv/2configs/vim.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index f9286165..e6b9bf20 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -25,9 +25,8 @@ let }) ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let name = "hack"; - version = "1.0"; in { - name = "vim-color-${name}-${version}"; + name = "vim-color-${name}-1.0"; destination = "/colors/${name}.vim"; text = /* vim */ '' set background=dark -- cgit v1.2.3 From 0b6103498b4555df63e29a31905627e66e25f610 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 13:22:47 +0200 Subject: tv vim-syntax-vim: init at 1.0.0 --- tv/2configs/vim.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index e6b9bf20..0eb67fc5 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -44,6 +44,19 @@ let hi TrailingSpace ctermbg=88 ''; }))) + ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let + name = "vim"; + in { + name = "vim-syntax-${name}-1.0.0"; + destination = "/syntax/${name}.vim"; + text = /* vim */ '' + ${concatMapStringsSep "\n" (s: /* vim */ '' + syn keyword vimColor${s} ${s} + \ containedin=ALLBUT,vimComment,vimLineComment + hi vimColor${s} ctermfg=${s} + '') (map (i: lpad 3 "0" (toString i)) (range 0 255))} + ''; + }))) ]; dirs = { -- cgit v1.2.3 From 45d351191e3f76811ea861d1d2d01074835e3771 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 14:15:46 +0200 Subject: tv vim: {TrailingSpace,Tabstop} -> {Garbage,TabStop} --- tv/2configs/vim.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 0eb67fc5..b20149b1 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -40,8 +40,8 @@ let hi Normal ctermbg=235 hi Comment ctermfg=240 - hi Tabstop ctermbg=16 - hi TrailingSpace ctermbg=88 + hi Garbage ctermbg=088 + hi TabStop ctermbg=016 ''; }))) ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let @@ -116,8 +116,8 @@ let colorscheme hack syntax on - au Syntax * syn match Tabstop containedin=ALL /\t\+/ - \ | syn match TrailingSpace containedin=ALL /\s\+$/ + au Syntax * syn match TabStop containedin=ALL /\t\+/ + \ | syn match Garbage containedin=ALL /\s\+$/ au BufRead,BufNewFile *.hs so ${hs.vim} -- cgit v1.2.3 From 33e397171e54a19f4457e5f87befb9f2dc9cea08 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 14:28:27 +0200 Subject: tv hs.vim: hi link {ConId,VarId,hsDelimiter} --- tv/2configs/vim.nix | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index b20149b1..21922dc8 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -157,6 +157,10 @@ let hs.vim = pkgs.writeText "hs.vim" '' syn region String start=+\[[[:alnum:]]*|+ end=+|]+ + + hi link ConId Identifier + hi link VarId Identifier + hi link hsDelimiter Delimiter ''; nix.vim = pkgs.writeText "nix.vim" '' -- cgit v1.2.3 From e5c1862d1cad37695bf2e6aad452738d1dcd5af2 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 14:29:05 +0200 Subject: tv nix.vim: hi link Nix{Code,Data} --- tv/2configs/vim.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 21922dc8..17a26d60 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -180,10 +180,10 @@ let syn match NixCommentMatch /\(^\|\s\)#.*/ syn region NixCommentRegion start="/\*" end="\*/" - hi NixCode ctermfg=034 - hi NixData ctermfg=040 - + hi link NixCode Statement + hi link NixData Constant hi link NixComment Comment + hi link NixCommentMatch NixComment hi link NixCommentRegion NixComment hi link NixINT NixData -- cgit v1.2.3 From a7fff175dc2b0164ce23457d0e2c8e5102c7808b Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 14:29:45 +0200 Subject: tv nix.vim: hi link ${name}Block --- tv/2configs/vim.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 17a26d60..6a8465e3 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -212,6 +212,8 @@ let \ contains=@${name}Syntax syn cluster NixSubLangs add=${name}Block,@${name}Syntax unlet b:current_syntax + + hi link ${name}Block Statement '') { haskell = {}; sh.start = ''write\(Ba\|Da\)sh[^ ]* *\"[^\"]*\"''; -- cgit v1.2.3 From daffd27cd33bffe38f1b709eb46d2ab9a1ddc4b6 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 14:30:19 +0200 Subject: tv vim-color-hack: 1.0 -> 1.0.1 --- tv/2configs/vim.nix | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 6a8465e3..5039fbad 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -26,7 +26,7 @@ let ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let name = "hack"; in { - name = "vim-color-${name}-1.0"; + name = "vim-color-${name}-1.0.1"; destination = "/colors/${name}.vim"; text = /* vim */ '' set background=dark @@ -37,11 +37,29 @@ let let colors_name = ${toJSON name} - hi Normal ctermbg=235 - hi Comment ctermfg=240 - - hi Garbage ctermbg=088 - hi TabStop ctermbg=016 + hi Normal ctermbg=235 + hi Comment ctermfg=242 + hi Constant ctermfg=255 + hi Identifier ctermfg=253 + hi Function ctermfg=253 + hi Statement ctermfg=253 + hi PreProc ctermfg=251 + hi Type ctermfg=251 + hi Delimiter ctermfg=251 + hi Special ctermfg=255 + + hi Garbage ctermbg=088 + hi TabStop ctermbg=016 + + hi NixCode ctermfg=040 + hi NixData ctermfg=046 + + hi diffNewFile ctermfg=207 + hi diffFile ctermfg=207 + hi diffLine ctermfg=207 + hi diffSubname ctermfg=207 + hi diffAdded ctermfg=010 + hi diffRemoved ctermfg=009 ''; }))) ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let -- cgit v1.2.3 From 6d8bedbf239ae8865bc44866ded062cc44ecdf64 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 14:46:08 +0200 Subject: tv vim-plugin-showsyntax: init at 1.0.0 --- tv/2configs/vim.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 5039fbad..eb6c432b 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -75,6 +75,30 @@ let '') (map (i: lpad 3 "0" (toString i)) (range 0 255))} ''; }))) + ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let + name = "showsyntax"; + in { + name = "vim-plugin-${name}-1.0.0"; + destination = "/plugin/${name}.vim"; + text = /* vim */ '' + if exists('g:loaded_showsyntax') + finish + endif + let g:loaded_showsyntax = 0 + + fu! ShowSyntax() + let id = synID(line("."), col("."), 1) + let name = synIDattr(id, "name") + let transName = synIDattr(synIDtrans(id),"name") + if name != transName + let name .= " (" . transName . ")" + endif + echo "Syntax: " . name + endfu + + command! -n=0 -bar ShowSyntax :call ShowSyntax() + ''; + }))) ]; dirs = { -- cgit v1.2.3 From ce79df9b7d43f3e68fac5de195a1d782e7c140aa Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 15:25:33 +0200 Subject: tv nix.vim: admit both kinds of strings --- tv/2configs/vim.nix | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index eb6c432b..fd3bd885 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -219,6 +219,12 @@ let syn match NixURI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ syn match NixString /"\([^\\"]\|\\.\)*"/ + syn region NixString2 + \ matchgroup=NixString2 + \ start="'''" + \ skip="'''\('\|[$]\|\\[nrt]\)" + \ end="'''" + syn match NixCommentMatch /\(^\|\s\)#.*/ syn region NixCommentRegion start="/\*" end="\*/" @@ -234,6 +240,7 @@ let hi link NixSPATH NixData hi link NixURI NixData hi link NixString NixData + hi link NixString2 NixString hi link NixEnter NixCode hi link NixExit NixData @@ -270,6 +277,7 @@ let \ containedin=@NixSubLangs syn region NixBlockHack + \ matchgroup=NixEnter \ start="{" \ end="}" \ contains=TOP -- cgit v1.2.3 From dcf612c2765225543f832c37149033d9488f6fbe Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 17:02:23 +0200 Subject: tv nix.vim: syn clear corrupting sh syntax --- tv/2configs/vim.nix | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index fd3bd885..d46c3303 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -269,6 +269,10 @@ let vim.start = ''write[^ ]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"''; })} + " Clear syntax that interferes with NixBlock. + " TODO redefine NixBlock so sh syntax don't have to be cleared + syn clear shOperator shSetList shVarAssign + syn region NixBlock \ matchgroup=NixEnter \ start="[$]{" -- cgit v1.2.3 From dbb43b644de8c706036bc533393284d8e4853773 Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 22:05:14 +0200 Subject: tv nix.vim: set isk last --- tv/2configs/vim.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index d46c3303..13ec8984 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -207,7 +207,6 @@ let nix.vim = pkgs.writeText "nix.vim" '' setf nix - set isk=@,48-57,_,192-255,-,' syn match NixCode /./ @@ -291,6 +290,8 @@ let syn match NixQuote3 "'''\\[nrt]" contained containedin=@NixSubLangs let b:current_syntax = "nix" + + set isk=@,48-57,_,192-255,-,' ''; in out -- cgit v1.2.3 From 1e4e9e1b43d47b59c380a063afe880ea886d78fa Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 9 Jun 2016 22:05:32 +0200 Subject: tv nix.vim: syn sync fromstart --- tv/2configs/vim.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 13ec8984..1e077dd4 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -289,6 +289,8 @@ let syn match NixQuote2 "''''"he=s+1 contained containedin=@NixSubLangs syn match NixQuote3 "'''\\[nrt]" contained containedin=@NixSubLangs + syn sync fromstart + let b:current_syntax = "nix" set isk=@,48-57,_,192-255,-,' -- cgit v1.2.3 From d32b7f9708c517eed050967d4009b94691755031 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 12:47:13 +0200 Subject: tv nix.vim: NixBlock containedin @NixStrings --- tv/2configs/vim.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 1e077dd4..480d93e3 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -216,14 +216,15 @@ let syn match NixHPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ syn match NixSPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ syn match NixURI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ - - syn match NixString /"\([^\\"]\|\\.\)*"/ - syn region NixString2 - \ matchgroup=NixString2 + syn match NixSTRING /"\([^\\"]\|\\.\)*"/ + syn region NixIND_STRING + \ matchgroup=NixIND_STRING \ start="'''" \ skip="'''\('\|[$]\|\\[nrt]\)" \ end="'''" + syn cluster NixStrings contains=NixSTRING,NixIND_STRING + syn match NixCommentMatch /\(^\|\s\)#.*/ syn region NixCommentRegion start="/\*" end="\*/" @@ -238,8 +239,8 @@ let hi link NixHPATH NixData hi link NixSPATH NixData hi link NixURI NixData - hi link NixString NixData - hi link NixString2 NixString + hi link NixSTRING NixData + hi link NixIND_STRING NixData hi link NixEnter NixCode hi link NixExit NixData @@ -277,7 +278,7 @@ let \ start="[$]{" \ end="}" \ contains=TOP - \ containedin=@NixSubLangs + \ containedin=@NixSubLangs,@NixStrings syn region NixBlockHack \ matchgroup=NixEnter -- cgit v1.2.3 From 86a732e61aa6471f28774f4f42af9cb179e33a78 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 13:54:50 +0200 Subject: tv vim: match TODO everywhere --- tv/2configs/vim.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 480d93e3..7da78b4e 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -158,8 +158,9 @@ let colorscheme hack syntax on - au Syntax * syn match TabStop containedin=ALL /\t\+/ - \ | syn match Garbage containedin=ALL /\s\+$/ + au Syntax * syn match Garbage containedin=ALL /\s\+$/ + \ | syn match TabStop containedin=ALL /\t\+/ + \ | syn keyword Todo containedin=ALL TODO au BufRead,BufNewFile *.hs so ${hs.vim} -- cgit v1.2.3 From c233b075b242985fc46338949b18d6658802e8fc Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 13:55:12 +0200 Subject: tv vim-color-hack: 1.0.1 -> 1.0.2 --- tv/2configs/vim.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 7da78b4e..694f392d 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -26,7 +26,7 @@ let ((rtp: rtp // { inherit rtp; }) (pkgs.writeTextFile (let name = "hack"; in { - name = "vim-color-${name}-1.0.1"; + name = "vim-color-${name}-1.0.2"; destination = "/colors/${name}.vim"; text = /* vim */ '' set background=dark @@ -50,6 +50,7 @@ let hi Garbage ctermbg=088 hi TabStop ctermbg=016 + hi Todo ctermfg=174 ctermbg=NONE hi NixCode ctermfg=040 hi NixData ctermfg=046 -- cgit v1.2.3 From 3b308d5ed92b4e12dca3a20c0c2811e2c407f47f Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 13:56:15 +0200 Subject: tv nix.vim: add c and cabal syntax --- tv/2configs/vim.nix | 2 ++ 1 file changed, 2 insertions(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 694f392d..c2f6c845 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -266,6 +266,8 @@ let hi link ${name}Block Statement '') { + c = {}; + cabal = {}; haskell = {}; sh.start = ''write\(Ba\|Da\)sh[^ ]* *\"[^\"]*\"''; vim.start = ''write[^ ]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"''; -- cgit v1.2.3 From fed55eed93033a2eae440b45b5bf54f120d0ac8b Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 14:43:38 +0200 Subject: tv nix.vim: NixString can span multiple lines --- tv/2configs/vim.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index c2f6c845..f6a5cc9c 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -218,7 +218,11 @@ let syn match NixHPATH /\~\(\/[a-zA-Z0-9\.\_\-\+]\+\)\+/ syn match NixSPATH /<[a-zA-Z0-9\.\_\-\+]\+\(\/[a-zA-Z0-9\.\_\-\+]\+\)*>/ syn match NixURI /[a-zA-Z][a-zA-Z0-9\+\-\.]*:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']\+/ - syn match NixSTRING /"\([^\\"]\|\\.\)*"/ + syn region NixSTRING + \ matchgroup=NixSTRING + \ start='"' + \ skip='\\"' + \ end='"' syn region NixIND_STRING \ matchgroup=NixIND_STRING \ start="'''" -- cgit v1.2.3 From d51179bf6b6ac4cbd6f6b06408735bc5ee49bbf8 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 16:07:47 +0200 Subject: tv nix.vim: support ${lang}Block in NixString --- tv/2configs/vim.nix | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index f6a5cc9c..4fa3fdda 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -256,25 +256,44 @@ let syn cluster NixSubLangs contains=NONE - ${concatStringsSep "\n" (mapAttrsToList (name: { start ? null }: let + ${concatStringsSep "\n" (mapAttrsToList (lang: { extraStart ? null }: let + startAlts = filter isString [ + ''/\* ${lang} \*/'' + extraStart + ]; + sigil = ''\(${concatStringsSep ''\|'' startAlts}\)[ \t\r\n]*''; in /* vim */ '' - syn include @${name}Syntax syntax/${name}.vim - syn region ${name}Block + syn include @${lang}Syntax syntax/${lang}.vim + unlet b:current_syntax + + syn region ${lang}Block_NixSTRING + \ matchgroup=NixExit + \ extend + \ start='${replaceStrings ["'"] ["\\'"] sigil}"' + \ skip='\\"' + \ end='"' + \ contains=@${lang}Syntax + + syn region ${lang}Block_NixIND_STRING \ matchgroup=NixExit - \ start="\(/\* ${name} \*/${optionalString (start != null) ''\|${start}''}\) '''" + \ extend + \ start="${replaceStrings ["\""] ["\\\""] sigil}'''" \ skip="'''\('\|[$]\|\\[nrt]\)" \ end="'''" - \ contains=@${name}Syntax - syn cluster NixSubLangs add=${name}Block,@${name}Syntax - unlet b:current_syntax + \ contains=@${lang}Syntax + + syn cluster NixSubLangs + \ add=@${lang}Syntax,${lang}Block_NixSTRING,${lang}Block_NixIND_STRING - hi link ${name}Block Statement + hi link ${lang}Block_NixSTRING Statement + hi link ${lang}Block_NixIND_STRING Statement '') { c = {}; cabal = {}; haskell = {}; - sh.start = ''write\(Ba\|Da\)sh[^ ]* *\"[^\"]*\"''; - vim.start = ''write[^ ]* *\"\(\([^\"]*\.\)\?vimrc\|[^\"]*\.vim\)\"''; + sh.extraStart = ''write\(Ba\|Da\)sh[^ \t\r\n]*[ \t\r\n]*"[^"]*"''; + vim.extraStart = + ''write[^ \t\r\n]*[ \t\r\n]*"\(\([^"]*\.\)\?vimrc\|[^"]*\.vim\)"''; })} " Clear syntax that interferes with NixBlock. -- cgit v1.2.3 From d8fa951b60f66ee4c275179d8713b5c41300ff61 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 16:10:35 +0200 Subject: tv nix.vim: syn clear vimString --- tv/2configs/vim.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 4fa3fdda..56d4de64 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -297,8 +297,9 @@ let })} " Clear syntax that interferes with NixBlock. - " TODO redefine NixBlock so sh syntax don't have to be cleared + " TODO redefine NixBlock so syntax don't have to be cleared syn clear shOperator shSetList shVarAssign + syn clear vimString syn region NixBlock \ matchgroup=NixEnter -- cgit v1.2.3 From 006fded4fb53852c36eb410fabe284007084bfd3 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 16:27:22 +0200 Subject: tv nix.vim: Vim, why are you so broken?! --- tv/2configs/vim.nix | 1 - 1 file changed, 1 deletion(-) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 56d4de64..891823c9 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -299,7 +299,6 @@ let " Clear syntax that interferes with NixBlock. " TODO redefine NixBlock so syntax don't have to be cleared syn clear shOperator shSetList shVarAssign - syn clear vimString syn region NixBlock \ matchgroup=NixEnter -- cgit v1.2.3 From e48ecf1e1c6cbda48045d5425e1a4e7ee6e993e9 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 10 Jun 2016 16:28:27 +0200 Subject: tv vim: hi NixQuote --- tv/2configs/vim.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'tv') diff --git a/tv/2configs/vim.nix b/tv/2configs/vim.nix index 891823c9..0d87d97a 100644 --- a/tv/2configs/vim.nix +++ b/tv/2configs/vim.nix @@ -54,6 +54,7 @@ let hi NixCode ctermfg=040 hi NixData ctermfg=046 + hi NixQuote ctermfg=071 hi diffNewFile ctermfg=207 hi diffFile ctermfg=207 -- cgit v1.2.3