Skip to content

Commit

Permalink
programs.zsh.syntax-highlighting: support custom highlighting patterns
Browse files Browse the repository at this point in the history
  • Loading branch information
Ma27 committed May 1, 2017
1 parent 92f53af commit f6e612b
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions nixos/modules/programs/zsh/zsh-syntax-highlighting.nix
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,24 @@ in
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
'';
};

patterns = mkOption {
default = [];
type = types.listOf(types.listOf(types.string));

example = literalExample ''
[
["rm -rf *" "fg=white,bold,bg=red"]
]
'';

description = ''
Specifies custom patterns to be highlighted by zsh-syntax-highlighting.
Please refer to the docs for more information about the usage:
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/pattern.md
'';
};
};
};

Expand All @@ -48,6 +66,16 @@ in
${optionalString (length(cfg.highlighters) > 0)
"ZSH_HIGHLIGHT_HIGHLIGHTERS=(${concatStringsSep " " cfg.highlighters})"
}
${optionalString (length(cfg.patterns) > 0)
(assert(elem "pattern" cfg.highlighters); (foldl (
a: b:
assert(length(b) == 2); ''
${a}
ZSH_HIGHLIGHT_PATTERNS+=('${elemAt b 0}' '${elemAt b 1}')
''
) "") cfg.patterns)
}
'';
};
}

0 comments on commit f6e612b

Please sign in to comment.