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:
David JULIEN 2021-10-12 20:22:47 +02:00
commit 89a86dca91
No known key found for this signature in database
GPG Key ID: 4B388E8BD9D47382
10 changed files with 117 additions and 36 deletions

View File

@ -17,3 +17,6 @@ require("plugin.cmp") -- ./lua/plugin/cmp.lua
-- treesitter
require("plugin.treesitter") -- ./lua/plugin/treesitter.lua
-- commenting, done right
require("plugin.comment") -- ./lua/plugin/comment.lua

View File

@ -3,11 +3,18 @@
-- License : GPLv3
-- 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 {
cmd = { "clangd",
"--background-index",
"--suggest-missing-includes",
"--clang-tidy",
"--header-insertion=iwyu"
}
},
-- The following example advertise capabilities to `clangd`.
capabilities = capabilities,
}

View File

@ -3,7 +3,7 @@
-- License : GPLv3
-- Description : neovim lsp config file
local lsp = {}
local M = {}
vim.fn.sign_define(
"DiagnosticSignError",
@ -38,39 +38,43 @@ vim.fn.sign_define(
}
)
-- symbols for autocomplete
vim.lsp.protocol.CompletionItemKind = {
"", -- 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
M.icons = {
Class = "",
Color = "",
Constant = " µ ",
Constructor = "",
Enum = "",
EnumMember = "",
Event = "",
Field = "",
File = "",
Folder = "",
Function = "",
Keyword = "",
Interface = "",
Method = "",
Module = "",
Operator = "",
Property = "",
Reference = "",
Snippet = "",
Struct = "",
Text = "",
TypeParameter = "",
Unit = "",
Value = "",
Variable = "",
}
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
if ft == "cpp" then ft = "c" end
require("lsp." .. ft) -- ./<ft>.lua
end
return lsp
return M

View File

@ -21,7 +21,7 @@ require'lspconfig'.sumneko_lua.setup {
},
diagnostics = {
-- Get the language server to recognize the `vim` global
globals = {'vim'},
globals = {"vim", "use", "globals", "utils"},
},
workspace = {
-- Make the server aware of Neovim runtime files

View File

@ -58,8 +58,8 @@ cmp.setup {
select = true,
}),
["<Tab>"] = cmp.mapping(function(fallback)
if vim.fn.pumvisible() == 1 then
vim.fn.feedkeys(t "<C-n>", "n")
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
elseif check_backspace() then
@ -69,8 +69,8 @@ cmp.setup {
end
end, { "i", "s" }),
["<S-Tab>"] = cmp.mapping(function(fallback)
if vim.fn.pumvisible() == 1 then
vim.fn.feedkeys(t "<C-p>", "n")
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else

View 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,
}

View File

@ -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 {
ensure_installed = { "c", "lua", "python", "bash" },
ignore_install = { "javascript" },

View File

@ -69,6 +69,9 @@ return require("packer").startup(function()
}
}
-- commenting, simplified
use "numToStr/Comment.nvim"
-- display colors directly in editor
use {
"norcalli/nvim-colorizer.lua",

View File

@ -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 TEXMFHOME="$XDG_DATA_HOME/texmf"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
export OPAMROOT="$XDG_DATA_HOME/opam"
export COQBIN="$OPAMROOT/default/bin"
## default programs
export SUDO_ASKPASS="$HOME/.local/bin/dmenupass"

View File

@ -78,3 +78,6 @@ typeset -A ZSH_HIGHLIGHT_STYLES
ZSH_HIGHLIGHT_STYLES[alias]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[path]='fg=magenta,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