Merge branch 'dev' into logos
opam : more XDG_USER_DIR compliant nvim: fix nvim-cmp config update lsp config format headers format module local name add commenting plugin
This commit is contained in:
commit
89a86dca91
@ -17,3 +17,6 @@ require("plugin.cmp") -- ./lua/plugin/cmp.lua
|
|||||||
|
|
||||||
-- treesitter
|
-- treesitter
|
||||||
require("plugin.treesitter") -- ./lua/plugin/treesitter.lua
|
require("plugin.treesitter") -- ./lua/plugin/treesitter.lua
|
||||||
|
|
||||||
|
-- commenting, done right
|
||||||
|
require("plugin.comment") -- ./lua/plugin/comment.lua
|
||||||
|
@ -3,11 +3,18 @@
|
|||||||
-- License : GPLv3
|
-- License : GPLv3
|
||||||
-- Description : clangd config file for lsp
|
-- Description : clangd config file for lsp
|
||||||
|
|
||||||
|
-- The nvim-cmp almost supports LSP's capabilities so You should advertise it to LSP servers..
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
||||||
|
|
||||||
|
|
||||||
require("lspconfig").clangd.setup {
|
require("lspconfig").clangd.setup {
|
||||||
cmd = { "clangd",
|
cmd = { "clangd",
|
||||||
"--background-index",
|
"--background-index",
|
||||||
"--suggest-missing-includes",
|
"--suggest-missing-includes",
|
||||||
"--clang-tidy",
|
"--clang-tidy",
|
||||||
"--header-insertion=iwyu"
|
"--header-insertion=iwyu"
|
||||||
}
|
},
|
||||||
|
-- The following example advertise capabilities to `clangd`.
|
||||||
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
-- License : GPLv3
|
-- License : GPLv3
|
||||||
-- Description : neovim lsp config file
|
-- Description : neovim lsp config file
|
||||||
|
|
||||||
local lsp = {}
|
local M = {}
|
||||||
|
|
||||||
vim.fn.sign_define(
|
vim.fn.sign_define(
|
||||||
"DiagnosticSignError",
|
"DiagnosticSignError",
|
||||||
@ -38,39 +38,43 @@ vim.fn.sign_define(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
-- symbols for autocomplete
|
M.icons = {
|
||||||
vim.lsp.protocol.CompletionItemKind = {
|
Class = " ",
|
||||||
" ", -- Text
|
Color = " ",
|
||||||
" ", -- Method
|
Constant = " µ ",
|
||||||
" ", -- Function
|
Constructor = " ",
|
||||||
" ", -- Constructor
|
Enum = " ",
|
||||||
" ﴲ ", -- Field
|
EnumMember = " ",
|
||||||
" ", -- Variable
|
Event = " ",
|
||||||
" ", -- Class
|
Field = " ",
|
||||||
" ﰮ ", -- Interface
|
File = " ",
|
||||||
" ", -- Module
|
Folder = " ",
|
||||||
" 襁 ", -- Property
|
Function = " ",
|
||||||
" ", -- Unit
|
Keyword = " ",
|
||||||
" ", -- Value
|
Interface = " ",
|
||||||
" 練 ", -- Enum
|
Method = " ",
|
||||||
" ", -- Keyword
|
Module = " ",
|
||||||
" ", -- Snippet
|
Operator = " ",
|
||||||
" ", -- Color
|
Property = " ",
|
||||||
" ", -- File
|
Reference = " ",
|
||||||
" ", -- Reference
|
Snippet = " ",
|
||||||
" ", -- Folder
|
Struct = " ",
|
||||||
" ", -- EnumMember
|
Text = " ",
|
||||||
" ﲀ ", -- Constant
|
TypeParameter = " ",
|
||||||
" ﳤ ", -- Struct
|
Unit = " ",
|
||||||
" ", -- Event
|
Value = " ",
|
||||||
" ", -- Operator
|
Variable = " ",
|
||||||
" ", -- TypeParameter
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function lsp.setup()
|
function M.setup()
|
||||||
|
local kinds = vim.lsp.protocol.CompletionItemKind
|
||||||
|
for i, kind in ipairs(kinds) do
|
||||||
|
kinds[i] = M.icons[kind] or kind
|
||||||
|
end
|
||||||
|
|
||||||
local ft = vim.bo.filetype
|
local ft = vim.bo.filetype
|
||||||
if ft == "cpp" then ft = "c" end
|
if ft == "cpp" then ft = "c" end
|
||||||
require("lsp." .. ft) -- ./<ft>.lua
|
require("lsp." .. ft) -- ./<ft>.lua
|
||||||
end
|
end
|
||||||
|
|
||||||
return lsp
|
return M
|
||||||
|
@ -21,7 +21,7 @@ require'lspconfig'.sumneko_lua.setup {
|
|||||||
},
|
},
|
||||||
diagnostics = {
|
diagnostics = {
|
||||||
-- Get the language server to recognize the `vim` global
|
-- Get the language server to recognize the `vim` global
|
||||||
globals = {'vim'},
|
globals = {"vim", "use", "globals", "utils"},
|
||||||
},
|
},
|
||||||
workspace = {
|
workspace = {
|
||||||
-- Make the server aware of Neovim runtime files
|
-- Make the server aware of Neovim runtime files
|
||||||
|
@ -58,8 +58,8 @@ cmp.setup {
|
|||||||
select = true,
|
select = true,
|
||||||
}),
|
}),
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
if vim.fn.pumvisible() == 1 then
|
if cmp.visible() then
|
||||||
vim.fn.feedkeys(t "<C-n>", "n")
|
cmp.select_next_item()
|
||||||
elseif luasnip.expand_or_jumpable() then
|
elseif luasnip.expand_or_jumpable() then
|
||||||
luasnip.expand_or_jump()
|
luasnip.expand_or_jump()
|
||||||
elseif check_backspace() then
|
elseif check_backspace() then
|
||||||
@ -69,8 +69,8 @@ cmp.setup {
|
|||||||
end
|
end
|
||||||
end, { "i", "s" }),
|
end, { "i", "s" }),
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
if vim.fn.pumvisible() == 1 then
|
if cmp.visible() then
|
||||||
vim.fn.feedkeys(t "<C-p>", "n")
|
cmp.select_prev_item()
|
||||||
elseif luasnip.jumpable(-1) then
|
elseif luasnip.jumpable(-1) then
|
||||||
luasnip.jump(-1)
|
luasnip.jump(-1)
|
||||||
else
|
else
|
||||||
|
54
.config/nvim/lua/plugin/comment.lua
Normal file
54
.config/nvim/lua/plugin/comment.lua
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
-- Author : swytch
|
||||||
|
-- Created : Tuesday Oct. 12, 2021 19:07:36 CET
|
||||||
|
-- License : GPLv3
|
||||||
|
-- Description : Comment plugin config file
|
||||||
|
|
||||||
|
require("Comment").setup {
|
||||||
|
---Add a space b/w comment and the line
|
||||||
|
---@type boolean
|
||||||
|
padding = true,
|
||||||
|
|
||||||
|
---Lines to be ignored while comment/uncomment.
|
||||||
|
---Could be a regex string or a function that returns a regex string.
|
||||||
|
---Example: Use '^$' to ignore empty lines
|
||||||
|
---@type string|function
|
||||||
|
ignore = nil,
|
||||||
|
|
||||||
|
---Whether to create basic (operator-pending) and extra mappings for NORMAL/VISUAL mode
|
||||||
|
---@type table
|
||||||
|
mappings = {
|
||||||
|
---operator-pending mapping
|
||||||
|
---Includes `gcc`, `gcb`, `gc[count]{motion}` and `gb[count]{motion}`
|
||||||
|
basic = true,
|
||||||
|
---extended mapping
|
||||||
|
---Includes `g>`, `g<`, `g>[count]{motion}` and `g<[count]{motion}`
|
||||||
|
extra = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
---LHS of line and block comment toggle mapping in NORMAL/VISUAL mode
|
||||||
|
---@type table
|
||||||
|
toggler = {
|
||||||
|
---line-comment toggle
|
||||||
|
line = 'gcc',
|
||||||
|
---block-comment toggle
|
||||||
|
block = 'gbc',
|
||||||
|
},
|
||||||
|
|
||||||
|
---LHS of line and block comment operator-mode mapping in NORMAL/VISUAL mode
|
||||||
|
---@type table
|
||||||
|
opleader = {
|
||||||
|
---line-comment opfunc mapping
|
||||||
|
line = 'gc',
|
||||||
|
---block-comment opfunc mapping
|
||||||
|
block = 'gb',
|
||||||
|
},
|
||||||
|
|
||||||
|
---Pre-hook, called before commenting the line
|
||||||
|
---@type function|nil
|
||||||
|
pre_hook = nil,
|
||||||
|
|
||||||
|
---Post-hook, called after commenting is done
|
||||||
|
---@type function|nil
|
||||||
|
post_hook = nil,
|
||||||
|
}
|
||||||
|
|
@ -1,3 +1,8 @@
|
|||||||
|
-- Author : swytch
|
||||||
|
-- Created : Monday May 24, 2021 20:02:19 CET
|
||||||
|
-- License : GPLv3
|
||||||
|
-- Description : treesitter config file
|
||||||
|
|
||||||
require("nvim-treesitter.configs").setup {
|
require("nvim-treesitter.configs").setup {
|
||||||
ensure_installed = { "c", "lua", "python", "bash" },
|
ensure_installed = { "c", "lua", "python", "bash" },
|
||||||
ignore_install = { "javascript" },
|
ignore_install = { "javascript" },
|
||||||
|
@ -69,6 +69,9 @@ return require("packer").startup(function()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- commenting, simplified
|
||||||
|
use "numToStr/Comment.nvim"
|
||||||
|
|
||||||
-- display colors directly in editor
|
-- display colors directly in editor
|
||||||
use {
|
use {
|
||||||
"norcalli/nvim-colorizer.lua",
|
"norcalli/nvim-colorizer.lua",
|
||||||
|
@ -19,6 +19,8 @@ export ANDROID_PREFS_ROOT="$XDG_CONFIG_HOME/android"
|
|||||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0"
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0"
|
||||||
export TEXMFHOME="$XDG_DATA_HOME/texmf"
|
export TEXMFHOME="$XDG_DATA_HOME/texmf"
|
||||||
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||||
|
export OPAMROOT="$XDG_DATA_HOME/opam"
|
||||||
|
export COQBIN="$OPAMROOT/default/bin"
|
||||||
|
|
||||||
## default programs
|
## default programs
|
||||||
export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"
|
export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"
|
||||||
|
@ -78,3 +78,6 @@ typeset -A ZSH_HIGHLIGHT_STYLES
|
|||||||
ZSH_HIGHLIGHT_STYLES[alias]='fg=green,bold'
|
ZSH_HIGHLIGHT_STYLES[alias]='fg=green,bold'
|
||||||
ZSH_HIGHLIGHT_STYLES[path]='fg=magenta,bold'
|
ZSH_HIGHLIGHT_STYLES[path]='fg=magenta,bold'
|
||||||
ZSH_HIGHLIGHT_STYLES[unknown-token]='bg=red,fg=white,bold'
|
ZSH_HIGHLIGHT_STYLES[unknown-token]='bg=red,fg=white,bold'
|
||||||
|
|
||||||
|
# opam configuration
|
||||||
|
test -r "$OPAMROOT/opam-init/init.zsh" && . "$OPAMROOT/opam-init/init.zsh" > /dev/null 2> /dev/null || true
|
||||||
|
Reference in New Issue
Block a user