commit 45b1d93bcc9d654139c57ce1d0dd0f8355af639b
parent cc4185c8ff0f2e67b2a2d50eb9f85cf2be65978c
Author: Tomas Nemec <nemi@skaut.cz>
Date: Thu, 22 Dec 2022 08:45:25 +0100
update
Diffstat:
5 files changed, 127 insertions(+), 25 deletions(-)
diff --git a/after/plugin/cmp.lua b/after/plugin/cmp.lua
@@ -2,8 +2,46 @@ if not pcall(require, 'cmp') then
return
end
+local kind_icons = {
+ Text = '',
+ Method = '',
+ Function = '',
+ Constructor = '',
+ Field = '',
+ Variable = '',
+ Class = 'ﴯ',
+ Interface = '',
+ Module = '',
+ Property = 'ﰠ',
+ Unit = '',
+ Value = '',
+ Enum = '',
+ Keyword = '',
+ Snippet = '',
+ Color = '',
+ File = '',
+ Reference = '',
+ Folder = '',
+ EnumMember = '',
+ Constant = '',
+ Struct = '',
+ Event = '',
+ Operator = '',
+ TypeParameter = '',
+}
+
local cmp = require('cmp')
-require('cmp_dictionary').setup({ dic = {} })
+local compare = require('cmp.config.compare')
+-- require('cmp_dictionary').setup({
+-- dic = { --
+-- spelllang = { --
+-- en = '/usr/share/dict/words',
+-- cs = '~/.local/share/dict/cs.dict',
+-- },
+-- },
+-- document = true,
+-- async = true,
+-- })
-- cmp.register_source('exe', require('tms.p.cmp.exe_source').new())
local doOrOpen = function(fn, t)
@@ -17,13 +55,32 @@ local doOrOpen = function(fn, t)
end
cmp.setup({
- preselect = cmp.PreselectMode.Item,
- window = { completion = cmp.config.window.bordered(), documentation = cmp.config.window.bordered() },
+ window = { --
+ completion = cmp.config.window.bordered(),
+ documentation = cmp.config.window.bordered(),
+ },
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body)
end,
},
+ view = { entries = { name = 'custom', selection_order = 'near_cursor' } },
+ formatting = {
+ format = function(entry, vim_item)
+ -- Kind icons
+ vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
+ -- Source
+ vim_item.menu = ({
+ nvim_lsp = '[LSP]',
+ nvim_lua = '[Lua]',
+ luasnip = '[LuaSnip]',
+ buffer = '[Buffer]',
+ treesitter = '[TS]',
+ latex_symbols = '[LaTeX]',
+ })[entry.source.name]
+ return vim_item
+ end,
+ },
mapping = {
['<c-e>'] = cmp.mapping({ i = cmp.mapping.abort(), c = cmp.mapping.close() }),
['<c-y>'] = cmp.mapping.confirm({ select = true }),
@@ -33,18 +90,35 @@ cmp.setup({
['<c-p>'] = cmp.mapping({ i = doOrOpen(cmp.select_prev_item, { behavior = cmp.SelectBehavior.Select }) }),
['<c-n>'] = cmp.mapping({ i = doOrOpen(cmp.select_next_item, { behavior = cmp.SelectBehavior.Select }) }),
},
- sources = { --
+ sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'nvim_lsp_signature_help' },
{ name = 'nvim_lua' },
{ name = 'luasnip' },
{ name = 'path' },
- { name = 'buffer' },
{ name = 'spell' },
{ name = 'calc' },
{ name = 'treesitter' },
- { name = 'dictionary' },
- },
+ { name = 'buffer', group_index = 1 },
+ }, { --
+ { name = 'buffer' },
+ { name = 'treesitter' },
+ }),
+ -- sorting = {
+ -- priority_weight = 2,
+ -- comparators = {
+ -- compare.offset,
+ -- compare.exact,
+ -- compare.scopes,
+ -- compare.score,
+ -- compare.recently_used,
+ -- compare.locality,
+ -- compare.kind,
+ -- compare.sort_text,
+ -- compare.length,
+ -- compare.order,
+ -- },
+ -- },
experimental = { ghost_text = true },
})
diff --git a/after/plugin/dap.lua b/after/plugin/dap.lua
@@ -7,21 +7,21 @@ local repl = require('dap.repl')
-- dap.set_log_level('TRACE')
repl.commands = vim.tbl_extend('force', repl.commands, { custom_commands = { ['.r'] = dap.restart } })
-vim.keymap.set('n', '<leader>dc', require 'dap'.continue, { silent = true, desc = 'DAP Continue' })
-vim.keymap.set('n', '<leader>dx', require 'dap'.terminate, { silent = true, desc = 'DAP Terminate' })
-vim.keymap.set('n', '<leader>do', require 'dap'.step_over, { silent = true, desc = 'DAP Step Over' })
-vim.keymap.set('n', '<leader>di', require 'dap'.step_into, { silent = true, desc = 'DAP Step Into' })
-vim.keymap.set('n', '<leader>dt', require 'dap'.step_out, { silent = true, desc = 'DAP Step Out' })
-vim.keymap.set('n', '<leader>dR', require 'dap'.restart, { silent = true, desc = 'DAP Restart' })
-vim.keymap.set('n', '<leader>db', require 'dap'.toggle_breakpoint, { silent = true, desc = 'DAP Toggle Breakpoint' })
-vim.keymap.set('n', '<leader>dC', require 'dap'.clear_breakpoints, { silent = true, desc = 'DAP Clear Breakpoint' })
+vim.keymap.set('n', '<leader>dc', require'dap'.continue, { silent = true, desc = 'DAP Continue' })
+vim.keymap.set('n', '<leader>dx', require'dap'.terminate, { silent = true, desc = 'DAP Terminate' })
+vim.keymap.set('n', '<leader>do', require'dap'.step_over, { silent = true, desc = 'DAP Step Over' })
+vim.keymap.set('n', '<leader>di', require'dap'.step_into, { silent = true, desc = 'DAP Step Into' })
+vim.keymap.set('n', '<leader>dt', require'dap'.step_out, { silent = true, desc = 'DAP Step Out' })
+vim.keymap.set('n', '<leader>dR', require'dap'.restart, { silent = true, desc = 'DAP Restart' })
+vim.keymap.set('n', '<leader>db', require'dap'.toggle_breakpoint, { silent = true, desc = 'DAP Toggle Breakpoint' })
+vim.keymap.set('n', '<leader>dC', require'dap'.clear_breakpoints, { silent = true, desc = 'DAP Clear Breakpoint' })
-- vim.keymap.set('n', '<leader>dr', require'dap'.repl.open, { silent = true, desc = 'DAP Open Repl' })
-vim.keymap.set('n', '<leader>dl', require 'dap'.run_last, { silent = true, desc = 'DAP Run Last' })
+vim.keymap.set('n', '<leader>dl', require'dap'.run_last, { silent = true, desc = 'DAP Run Last' })
vim.keymap.set('n', '<Leader>dB', function()
- require 'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
+ require'dap'.set_breakpoint(vim.fn.input('Breakpoint condition: '))
end, { silent = true, desc = 'DAP Set Breakpoint' })
vim.keymap.set('n', '<leader>dL', function()
- require 'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))
+ require'dap'.set_breakpoint(nil, nil, vim.fn.input('Log point message: '))
end, { silent = true, desc = 'DAP Set Log Point' })
-- DAP UI
@@ -131,12 +131,11 @@ end
-- DAP CHROME
local has_vscode, vscode = pcall(require, 'dap-vscode-js')
if has_vscode then
- vscode.setup { adapters = { 'pwa-chrome' } }
dap.configurations.dart = {
{
type = 'pwa-chrome',
request = 'attach',
- name = 'Attach',
+ name = 'Attach to :9222',
cwd = vim.fn.getcwd(),
port = 9222,
@@ -151,7 +150,20 @@ if has_vscode then
end,
sourceMapPathOverrides = {},
},
+ { --
+ type = 'pwa-chrome',
+ request = 'launch',
+ name = 'Launch',
+ webRoot = '${workspaceFolder}',
+ },
}
+
+ -- The VSCode Debugger requires a special setup
+ vscode.setup({
+ adapters = { 'pwa-node', 'pwa-chrome', 'pwa-msedge', 'node-terminal', 'pwa-extensionHost' },
+ debugger_path = vim.fn.stdpath('data') .. '/mason/bin/js-debug-adapter', -- Path to VSCode Debugger
+ debugger_cmd = { 'js-debug-adapter' },
+ })
end
-- ALT CHROME
diff --git a/colors/base16.lua b/colors/base16.lua
@@ -292,6 +292,12 @@ vim.api.nvim_set_hl(0, 'StatusLine', { fg = 'background', bg = 'background' })
vim.api.nvim_set_hl(0, 'Beacon', { bg = 'fg' })
vim.api.nvim_set_hl(0, 'LspInlayHint', { fg = gui03 })
+-- cmp
+vim.api.nvim_set_hl(0, 'CmpItemKindFunction', { fg = gui0E })
+vim.api.nvim_set_hl(0, 'CmpItemKindMethod', { link = 'CmpItemKindFunction' })
+vim.api.nvim_set_hl(0, 'CmpItemKindClass', { fg = gui0A })
+vim.api.nvim_set_hl(0, 'CmpItemKindConstructor', { fg = gui0D })
+
-- leap
vim.api.nvim_set_hl(0, 'LeapBackdrop', { link = 'Comment' })
vim.api.nvim_set_hl(0, 'LeapMatch', { fg = '#00ff00' })
diff --git a/ftplugin/mail.lua b/ftplugin/mail.lua
@@ -1,3 +1,3 @@
vim.opt.spell = true
-vim.opt.spelllang = {'cs', 'csa', 'en'}
-vim.keymap.set('n', '<leader>aa', require('tms.p.telescope').mail_address, {buffer = true})
+vim.opt.spelllang = { 'cs', 'csa', 'en' }
+vim.keymap.set('n', '<leader>aa', require('tms.p.telescope').mail_address, { buffer = true })
diff --git a/lua/tms/lsp/servers.lua b/lua/tms/lsp/servers.lua
@@ -2,15 +2,25 @@
local M = {}
function M.jsonls(opts)
- if pcall(require, 'schemastor') then
- opts.settings = { json = { schemas = require('schemastore').json.schemas() } }
+ if pcall(require, 'schemastore') then
+ opts.settings = {
+ json = { --
+ schemas = require('schemastore').json.schemas(),
+ validate = { enable = true },
+ },
+ }
end
return opts
end
function M.yamlls(opts)
- opts.settings = { yaml = { schemaStore = { enable = true } } }
+ opts.settings = {
+ yaml = { --
+ schemas = require('schemastore').json.schemas(),
+ validate = { enable = true },
+ },
+ }
return opts
end