commit 827322b0572d7983089712c8773c76ef9a0b0b12
parent ef9aa7c102de899bb0397ca3ce99f445154f4247
Author: Tomas Nemec <nemi@skaut.cz>
Date: Wed, 8 Mar 2023 21:14:04 +0100
update
Diffstat:
5 files changed, 64 insertions(+), 18 deletions(-)
diff --git a/after/plugin/treesitter.lua b/after/plugin/treesitter.lua
@@ -31,7 +31,7 @@ parser_configs.norg_table = {
require'nvim-treesitter.configs'.setup {
ensure_intalled = 'all',
ignore_install = { 'lua', 'vim', 'c' },
- highlight = { enable = true, disable = { 'lua', 'vim', 'c' } },
+ highlight = { enable = true, disable = { 'lua', 'vim', 'c', 'dart' } },
indent = { enable = true },
@@ -54,11 +54,13 @@ require'nvim-treesitter.configs'.setup {
},
swap = {
enable = true,
- swap_next = { --
+ swap_next = {
+ --
['>p'] = '@parameter.inner',
['>m'] = '@function.outer',
},
- swap_previous = { --
+ swap_previous = {
+ --
['<p'] = '@parameter.inner',
['<m'] = '@function.outer',
},
@@ -81,7 +83,8 @@ require'nvim-treesitter.configs'.setup {
lsp_interop = {
enable = true,
border = 'single',
- peek_definition_code = { --
+ peek_definition_code = {
+ --
['<leader>sf'] = '@function.outer',
['<leader>sc'] = '@class.outer',
},
diff --git a/after/queries/dart/injections.scm b/after/queries/dart/injections.scm
@@ -5,12 +5,13 @@
(arguments
(named_argument
(label (identifier) @_identifier)
- (list_literal (string_literal) @css)
+ (list_literal (string_literal) @injection.content)
)
)
(#eq? @_identifier "styles")
- (#lua-match? @css "^'''.*'''$")
- (#offset! @css 0 3 0 -3)
+ (#lua-match? @injection.content "^'''.*'''$")
+ (#offset! @injection.content 0 3 0 -3)
+ (#set! injection.language "css")
)
; Single quotes
@@ -18,11 +19,12 @@
(arguments
(named_argument
(label (identifier) @_identifier)
- (list_literal (string_literal) @css)
+ (list_literal (string_literal) @injection.content)
)
)
(#eq? @_identifier "styles")
- (#offset! @css 0 1 0 -1)
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "css")
)
; triple quotes
@@ -30,12 +32,13 @@
(arguments
(named_argument
(label (identifier) @_identifier)
- (string_literal) @html
+ (string_literal) @injection.content
)
)
(#eq? @_identifier "template")
- (#lua-match? @html "^'''.*'''$")
- (#offset! @html 0 3 0 -3)
+ (#lua-match? @injection.content "^'''.*'''$")
+ (#offset! @injection.content 0 3 0 -3)
+ (#set! injection.language "html")
)
; Single quotes
@@ -43,11 +46,12 @@
(arguments
(named_argument
(label (identifier) @_identifier)
- (string_literal) @html
+ (string_literal) @injection.content
)
)
(#eq? @_identifier "template")
- (#offset! @html 0 1 0 -1)
+ (#offset! @injection.content 0 1 0 -1)
+ (#set! injection.language "html")
)
diff --git a/after/queries/html/injections.scm b/after/queries/html/injections.scm
@@ -14,5 +14,7 @@
((attribute_name) @_banana (#lua-match? @_banana "^%[%(.+%)]$"))
]
(quoted_attribute_value
- (attribute_value) @dart)
+ (attribute_value) @injection.content
+ (#set! injection.language "dart")
+ )
)
diff --git a/colors/base16.lua b/colors/base16.lua
@@ -39,8 +39,10 @@ local cterm06 = 13
local cterm09 = 9
local cterm0F = 14
-vim.cmd.highlight('clear')
-vim.cmd.syntax('reset')
+vim.cmd [[
+ highlight clear
+ syntax reset
+]]
vim.g.colors_name = 'base16-gruvbox-dark-hard'
-- Vim editor colors fg bg ctermfg ctermbg attr guisp
@@ -99,7 +101,7 @@ vim.api.nvim_set_hl(0, 'Define', { fg = gui0E, ctermfg = cterm0E })
vim.api.nvim_set_hl(0, 'Delimiter', { fg = gui0F, ctermfg = cterm0F })
vim.api.nvim_set_hl(0, 'Float', { fg = gui09, ctermfg = cterm09 })
vim.api.nvim_set_hl(0, 'Function', { fg = gui0D, ctermfg = cterm0D })
-vim.api.nvim_set_hl(0, 'Identifier', { fg = gui08, ctermfg = cterm08 })
+vim.api.nvim_set_hl(0, 'Identifier', { fg = gui05, ctermfg = cterm05 })
vim.api.nvim_set_hl(0, 'Include', { fg = gui0D, ctermfg = cterm0D })
vim.api.nvim_set_hl(0, 'Keyword', { fg = gui0E, ctermfg = cterm0E })
vim.api.nvim_set_hl(0, 'Label', { fg = gui0A, ctermfg = cterm0A })
@@ -279,6 +281,7 @@ vim.api.nvim_set_hl(0, 'javaOperator', { fg = gui0D, ctermfg = cterm0D })
-- vim: filetype=lua
-- end color
+--
vim.api.nvim_set_hl(0, 'LineNr', { fg = gui03, bg = gui00 })
vim.api.nvim_set_hl(0, 'SignColumn', { fg = gui03, bg = gui00 })
@@ -288,6 +291,7 @@ vim.api.nvim_set_hl(0, 'NormalFloat', {})
vim.api.nvim_set_hl(0, 'WinSeparator', {})
vim.api.nvim_set_hl(0, 'FloatBorder', {})
vim.api.nvim_set_hl(0, 'StatusLine', { fg = 'background', bg = 'background' })
+vim.api.nvim_set_hl(0, 'Identifier', { fg = gui05, ctermfg = cterm05 })
vim.api.nvim_set_hl(0, 'Beacon', { bg = 'fg' })
vim.api.nvim_set_hl(0, 'LspInlayHint', { fg = gui03 })
@@ -321,3 +325,34 @@ vim.api.nvim_set_hl(0, 'GitGutterAdd', { fg = gui0B, bg = gui00 })
vim.api.nvim_set_hl(0, 'GitGutterChange', { fg = gui0D, bg = gui00 })
vim.api.nvim_set_hl(0, 'GitGutterDelete', { fg = gui08, bg = gui00 })
vim.api.nvim_set_hl(0, 'GitGutterChangeDelete', { fg = gui0E, bg = gui00 })
+
+-- Hide all semantic highlights
+-- for _, group in ipairs(vim.fn.getcompletion('@lsp', 'highlight')) do
+-- vim.api.nvim_set_hl(0, group, {})
+-- end
+
+-- relink @lsp to @treesitter
+local links = {
+ ['@lsp.type.namespace'] = '@namespace',
+ ['@lsp.type.type'] = '@type',
+ ['@lsp.type.class'] = '@type',
+ ['@lsp.type.enum'] = '@type',
+ ['@lsp.type.interface'] = '@type',
+ ['@lsp.type.struct'] = '@structure',
+ ['@lsp.type.typeParameter'] = 'TypeDef',
+ ['@lsp.type.parameter'] = '@parameter',
+ ['@lsp.type.variable'] = '@variable',
+ ['@lsp.type.property'] = '@property',
+ ['@lsp.type.enumMember'] = '@constant',
+ ['@lsp.type.function'] = '@function',
+ ['@lsp.type.method'] = '@method',
+ ['@lsp.type.macro'] = '@macro',
+ ['@lsp.type.decorator'] = '@function',
+ ['@lsp.type.keyword'] = '@keyword',
+}
+for newgroup, oldgroup in pairs(links) do
+ vim.api.nvim_set_hl(0, newgroup, { link = oldgroup, default = true })
+end
+
+vim.api.nvim_set_hl(0, '@lsp.mod.annotation', { italic = true })
+vim.api.nvim_set_hl(0, '@lsp.type.type', { bold = true })
diff --git a/ftplugin/dart.lua b/ftplugin/dart.lua
@@ -22,6 +22,8 @@ if string.find(full_path, '%.pub%-cache') then
end
vim.lsp.start(require'tms.lsp'.make_opts('dartls'))
+vim.treesitter.start()
+vim.bo.syntax = 'off'
vim.keymap.set('n', '<leader>ar', vim.cmd.make)
vim.keymap.set('n', '<leader>at', vim.cmd.Trun)