aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Vigouroux <tomvig38@gmail.com>2020-06-21 19:43:02 +0200
committerThomas Vigouroux <39092278+vigoux@users.noreply.github.com>2020-06-26 20:56:19 +0200
commit282e18edd18fdd84e8436440789c0ecb2bc83f82 (patch)
treed01ab6c1dde69ae8248236627e23ccf673b7ca80
parentFix cpp-highlights: wrong capture name used in regex (diff)
downloadnvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.tar
nvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.tar.gz
nvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.tar.bz2
nvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.tar.lz
nvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.tar.xz
nvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.tar.zst
nvim-treesitter-282e18edd18fdd84e8436440789c0ecb2bc83f82.zip
highlight: use custom highlight groups
-rw-r--r--doc/nvim-treesitter.txt131
-rw-r--r--doc/tags32
-rw-r--r--lua/nvim-treesitter/highlight.lua64
-rw-r--r--plugin/nvim-treesitter.vim41
4 files changed, 235 insertions, 33 deletions
diff --git a/doc/nvim-treesitter.txt b/doc/nvim-treesitter.txt
index bb53e182e..5a3a4ce11 100644
--- a/doc/nvim-treesitter.txt
+++ b/doc/nvim-treesitter.txt
@@ -166,4 +166,135 @@ Note: This is highly experimental, and folding can break on some types of
edits. If you encounter such breakage, hiting `zx` should fix folding.
In any case, feel free to open an issue with the reproducing steps.
+==============================================================================
+HIGHLIGHTS *nvim-treesitter-highlights*
+
+TSError
+
+`TSPunctDelimiter`
+ *hl-TSPunctDelimiter*
+For delimiters ie: `.`
+
+`TSPunctBracket`
+ *hl-TSPunctBracket*
+For brackets and parens.
+
+`TSPunctSpecial`
+ *hl-TSPunctSpecial*
+For special punctutation that does not fall in the catagories before.
+
+`TSConstant`
+ *hl-TSConstant*
+For constants
+
+`TSConstBuiltin`
+ *hl-TSConstBuiltin*
+For constant that are built in the language: `nil` in Lua.
+
+`TSConstMacro`
+ *hl-TSConstMacro*
+For constants that are defined by macros: `NULL` in C.
+
+`TSString`
+ *hl-TSString*
+For strings.
+
+`TSStringRegex`
+ *hl-TSStringRegex*
+For regexes.
+
+`TSStringEscape`
+ *hl-TSStringEscape*
+For escape characters within a string.
+
+`TSCharacter`
+ *hl-TSCharacter*
+For characters.
+
+`TSNumber`
+ *hl-TSNumber*
+For integers.
+
+`TSBoolean`
+ *hl-TSBoolean*
+For booleans.
+
+`TSFloat`
+ *hl-TSFloat*
+For floats.
+
+`TSFunction`
+ *hl-TSFunction*
+For function (calls and definitions).
+
+`TSFuncBuiltin`
+ *hl-TSFuncBuiltin*
+For builtin functions: `table.insert` in Lua.
+
+`TSFuncMacro`
+ *hl-TSFuncMacro*
+For macro defined fuctions (calls and definitions): each `macro_rules` in
+Rust.
+
+`TSParameter`
+ *hl-TSParameter*
+For parameters of a function.
+
+`TSMethod`
+ *hl-TSMethod*
+For method calls and definitions.
+
+`TSField`
+ *hl-TSField*
+For fields.
+
+`TSProperty`
+ *hl-TSProperty*
+Same as `TSField`.
+
+`TSConstructor`
+ *hl-TSConstructor*
+For constructor calls and definitions: `{}` in Lua, and Java constructors.
+
+`TSConditional`
+ *hl-TSConditional*
+For keywords related to conditionnals.
+
+`TSRepeat`
+ *hl-TSRepeat*
+For keywords related to loops.
+
+`TSLabel`
+ *hl-TSLabel*
+For labels: `labe:` in C and `:label:` in Lua.
+
+`TSOperator`
+ *hl-TSOperator*
+For any operator: `+`, but also `->` and `*` in C.
+
+`TSKeyword`
+ *hl-TSKeyword*
+For keywords that don't fall in previous categories.
+
+`TSException`
+ *hl-TSException*
+For exception related keywords.
+
+`TSType`
+ *hl-TSType*
+For types.
+
+`TSTypeBuiltin`
+ *hl-TSTypeBuiltin*
+For builtin types (you guessed it, right ?).
+
+`TSStructure`
+ *hl-TSStructure*
+This is left as an exercise for the reader.
+
+`TSInclude`
+ *hl-TSInclude*
+For includes: `#include` in C, `use` or `extern crate` in Rust, or `require`
+in Lua
+
vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/doc/tags b/doc/tags
index df33c4d43..7cab44634 100644
--- a/doc/tags
+++ b/doc/tags
@@ -5,9 +5,41 @@
:TSInstall nvim-treesitter.txt /*:TSInstall*
:TSInstallInfo nvim-treesitter.txt /*:TSInstallInfo*
:TSModuleInfo nvim-treesitter.txt /*:TSModuleInfo*
+hl-TSBoolean nvim-treesitter.txt /*hl-TSBoolean*
+hl-TSCharacter nvim-treesitter.txt /*hl-TSCharacter*
+hl-TSConditional nvim-treesitter.txt /*hl-TSConditional*
+hl-TSConstBuiltin nvim-treesitter.txt /*hl-TSConstBuiltin*
+hl-TSConstMacro nvim-treesitter.txt /*hl-TSConstMacro*
+hl-TSConstant nvim-treesitter.txt /*hl-TSConstant*
+hl-TSConstructor nvim-treesitter.txt /*hl-TSConstructor*
+hl-TSException nvim-treesitter.txt /*hl-TSException*
+hl-TSField nvim-treesitter.txt /*hl-TSField*
+hl-TSFloat nvim-treesitter.txt /*hl-TSFloat*
+hl-TSFuncBuiltin nvim-treesitter.txt /*hl-TSFuncBuiltin*
+hl-TSFuncMacro nvim-treesitter.txt /*hl-TSFuncMacro*
+hl-TSFunction nvim-treesitter.txt /*hl-TSFunction*
+hl-TSInclude nvim-treesitter.txt /*hl-TSInclude*
+hl-TSKeyword nvim-treesitter.txt /*hl-TSKeyword*
+hl-TSLabel nvim-treesitter.txt /*hl-TSLabel*
+hl-TSMethod nvim-treesitter.txt /*hl-TSMethod*
+hl-TSNumber nvim-treesitter.txt /*hl-TSNumber*
+hl-TSOperator nvim-treesitter.txt /*hl-TSOperator*
+hl-TSParameter nvim-treesitter.txt /*hl-TSParameter*
+hl-TSProperty nvim-treesitter.txt /*hl-TSProperty*
+hl-TSPunctBracket nvim-treesitter.txt /*hl-TSPunctBracket*
+hl-TSPunctDelimiter nvim-treesitter.txt /*hl-TSPunctDelimiter*
+hl-TSPunctSpecial nvim-treesitter.txt /*hl-TSPunctSpecial*
+hl-TSRepeat nvim-treesitter.txt /*hl-TSRepeat*
+hl-TSString nvim-treesitter.txt /*hl-TSString*
+hl-TSStringEscape nvim-treesitter.txt /*hl-TSStringEscape*
+hl-TSStringRegex nvim-treesitter.txt /*hl-TSStringRegex*
+hl-TSStructure nvim-treesitter.txt /*hl-TSStructure*
+hl-TSType nvim-treesitter.txt /*hl-TSType*
+hl-TSTypeBuiltin nvim-treesitter.txt /*hl-TSTypeBuiltin*
nvim-treesitter nvim-treesitter.txt /*nvim-treesitter*
nvim-treesitter-commands nvim-treesitter.txt /*nvim-treesitter-commands*
nvim-treesitter-functions nvim-treesitter.txt /*nvim-treesitter-functions*
+nvim-treesitter-highlights nvim-treesitter.txt /*nvim-treesitter-highlights*
nvim-treesitter-intro nvim-treesitter.txt /*nvim-treesitter-intro*
nvim-treesitter-quickstart nvim-treesitter.txt /*nvim-treesitter-quickstart*
nvim-treesitter-utils nvim-treesitter.txt /*nvim-treesitter-utils*
diff --git a/lua/nvim-treesitter/highlight.lua b/lua/nvim-treesitter/highlight.lua
index 717601462..1b4722435 100644
--- a/lua/nvim-treesitter/highlight.lua
+++ b/lua/nvim-treesitter/highlight.lua
@@ -11,45 +11,45 @@ local M = {
local hlmap = vim.treesitter.TSHighlighter.hl_map
-- Misc
-hlmap.error = "Error"
-hlmap["punctuation.delimiter"] = "Delimiter"
-hlmap["punctuation.bracket"] = "Delimiter"
-hlmap["punctuation.special"] = "Delimiter"
+hlmap.error = "TSError"
+hlmap["punctuation.delimiter"] = "TSPunctDelimiter"
+hlmap["punctuation.bracket"] = "TSPunctBracket"
+hlmap["punctuation.special"] = "TSPunctSpecial"
-- Constants
-hlmap["constant"] = "Constant"
-hlmap["constant.builtin"] = "Special"
-hlmap["constant.macro"] = "Define"
-hlmap["string"] = "String"
-hlmap["string.regex"] = "String"
-hlmap["string.escape"] = "SpecialChar"
-hlmap["character"] = "Character"
-hlmap["number"] = "Number"
-hlmap["boolean"] = "Boolean"
-hlmap["float"] = "Float"
+hlmap["constant"] = "TSConstant"
+hlmap["constant.builtin"] = "TSConstBuiltin"
+hlmap["constant.macro"] = "TSConstMacro"
+hlmap["string"] = "TSString"
+hlmap["string.regex"] = "TSStringRegex"
+hlmap["string.escape"] = "TSStringEscape"
+hlmap["character"] = "TSCharacter"
+hlmap["number"] = "TSNumber"
+hlmap["boolean"] = "TSBoolean"
+hlmap["float"] = "TSFloat"
-- Functions
-hlmap["function"] = "Function"
-hlmap["function.builtin"] = "Special"
-hlmap["function.macro"] = "Macro"
-hlmap["parameter"] = "Identifier"
-hlmap["method"] = "Function"
-hlmap["field"] = "Identifier"
-hlmap["property"] = "Identifier"
-hlmap["constructor"] = "Special"
+hlmap["function"] = "TSFunction"
+hlmap["function.builtin"] = "TSFuncBuiltin"
+hlmap["function.macro"] = "TSFuncMacro"
+hlmap["parameter"] = "TSIdentifier"
+hlmap["method"] = "TSMethod"
+hlmap["field"] = "TSField"
+hlmap["property"] = "TSProperty"
+hlmap["constructor"] = "TSConstructor"
-- Keywords
-hlmap["conditional"] = "Conditional"
-hlmap["repeat"] = "Repeat"
-hlmap["label"] = "Label"
-hlmap["operator"] = "Operator"
-hlmap["keyword"] = "Keyword"
-hlmap["exception"] = "Exception"
+hlmap["conditional"] = "TSConditional"
+hlmap["repeat"] = "TSRepeat"
+hlmap["label"] = "TSLabel"
+hlmap["operator"] = "TSOperator"
+hlmap["keyword"] = "TSKeyword"
+hlmap["exception"] = "TSException"
-hlmap["type"] = "Type"
-hlmap["type.builtin"] = "Type"
-hlmap["structure"] = "Structure"
-hlmap["include"] = "Include"
+hlmap["type"] = "TSType"
+hlmap["type.builtin"] = "TSTypeBuiltin"
+hlmap["structure"] = "TSStructure"
+hlmap["include"] = "TSInclude"
function M.attach(bufnr, lang)
local bufnr = bufnr or api.nvim_get_current_buf()
diff --git a/plugin/nvim-treesitter.vim b/plugin/nvim-treesitter.vim
index 4769680a3..cbd08a9bf 100644
--- a/plugin/nvim-treesitter.vim
+++ b/plugin/nvim-treesitter.vim
@@ -1,4 +1,4 @@
-" Last Change: 2020 avril 25
+" Last Change: 2020 juin 21
if exists('g:loaded_nvim_treesitter')
finish
@@ -18,3 +18,42 @@ ts_available_modules = function()
end
require'nvim-treesitter'.setup()
EOF
+
+highlight link TSError Error
+
+highlight link TSPunctDelimiter Delimiter
+highlight link TSPunctBracket Delimiter
+highlight link TSPunctSpecial Delimiter
+
+highlight link TSConstant Constant
+highlight link TSConstBuiltin Special
+highlight link TSConstMacro Define
+highlight link TSString String
+highlight link TSStringRegex String
+highlight link TSStringEscape SpecialChar
+highlight link TSCharacter Character
+highlight link TSNumber Number
+highlight link TSBoolean Boolean
+highlight link TSFloat TSFloat
+
+highlight link TSFunction Function
+highlight link TSFuncBuiltin Special
+highlight link TSFuncMacro Macro
+highlight link TSParameter Identifier
+highlight link TSMethod Function
+highlight link TSField Identifier
+highlight link TSProperty Identifier
+highlight link TSConstructor Special
+
+highlight link TSConditional Conditional
+highlight link TSRepeat Repeat
+highlight link TSLabel Label
+highlight link TSOperator Operator
+highlight link TSKeyword Keyword
+highlight link TSException Exception
+
+highlight link TSType Type
+highlight link TSTypeBuiltin Type
+highlight link TSStructure Structure
+highlight link TSInclude Include
+