Merge remote-tracking branch 'cd/master'
This commit is contained in:
commit
2f940d77f1
|
@ -334,7 +334,8 @@ types // rec {
|
|||
# TODO two slashes
|
||||
absolute-pathname = mkOptionType {
|
||||
name = "POSIX absolute pathname";
|
||||
check = s: s == "/" || (pathname.check s && substring 0 1 s == "/");
|
||||
check = x: let xs = splitString "/" x; xa = head xs; in
|
||||
xa == "/" || (xa == "" && all filename.check (tail xs));
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
|
@ -342,7 +343,8 @@ types // rec {
|
|||
# TODO normalize slashes
|
||||
pathname = mkOptionType {
|
||||
name = "POSIX pathname";
|
||||
check = s: isString s && all filename.check (splitString "/" s);
|
||||
check = x: let xs = splitString "/" x; in
|
||||
all filename.check (if head xs == "" then tail xs else xs);
|
||||
merge = mergeOneOption;
|
||||
};
|
||||
|
||||
|
|
|
@ -264,30 +264,32 @@ let
|
|||
];
|
||||
sigil = ''\(${concatStringsSep ''\|'' startAlts}\)[ \t\r\n]*'';
|
||||
in /* vim */ ''
|
||||
syn include @${lang}Syntax syntax/${lang}.vim
|
||||
syn include @nix_${lang}_syntax syntax/${lang}.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
syn region ${lang}Block_NixSTRING
|
||||
\ matchgroup=NixExit
|
||||
\ extend
|
||||
\ start='${replaceStrings ["'"] ["\\'"] sigil}"'
|
||||
syn match nix_${lang}_sigil
|
||||
\ X${replaceStrings ["X"] ["\\X"] sigil}\ze\('''\|"\)X
|
||||
\ nextgroup=nix_${lang}_region
|
||||
\ transparent
|
||||
|
||||
syn region nix_${lang}_region
|
||||
\ matchgroup=NixSTRING
|
||||
\ start='"'
|
||||
\ skip='\\"'
|
||||
\ end='"'
|
||||
\ contains=@${lang}Syntax
|
||||
\ contained
|
||||
\ contains=@nix_${lang}_syntax
|
||||
|
||||
syn region ${lang}Block_NixIND_STRING
|
||||
\ matchgroup=NixExit
|
||||
\ extend
|
||||
\ start="${replaceStrings ["\""] ["\\\""] sigil}'''"
|
||||
syn region nix_${lang}_region
|
||||
\ matchgroup=NixIND_STRING
|
||||
\ start="'''"
|
||||
\ skip="'''\('\|[$]\|\\[nrt]\)"
|
||||
\ end="'''"
|
||||
\ contains=@${lang}Syntax
|
||||
\ contained
|
||||
\ contains=@nix_${lang}_syntax
|
||||
|
||||
syn cluster NixSubLangs
|
||||
\ add=@${lang}Syntax,${lang}Block_NixSTRING,${lang}Block_NixIND_STRING
|
||||
|
||||
hi link ${lang}Block_NixSTRING Statement
|
||||
hi link ${lang}Block_NixIND_STRING Statement
|
||||
\ add=nix_${lang}_region,@nix_${lang}_syntax
|
||||
'') {
|
||||
c = {};
|
||||
cabal = {};
|
||||
|
|
Loading…
Reference in a new issue