aboutsummaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/nvim/init.lua30
-rw-r--r--config/nvim/lua/plugins.lua46
-rwxr-xr-xconfig/zsh/zprofile1
3 files changed, 65 insertions, 12 deletions
diff --git a/config/nvim/init.lua b/config/nvim/init.lua
index 2b46cc9..1caa245 100644
--- a/config/nvim/init.lua
+++ b/config/nvim/init.lua
@@ -39,7 +39,7 @@ vim.opt.hlsearch = true -- match highlight
vim.opt.incsearch = true
-- status
-vim.opt.laststatus=2 -- always a statusline (all window)
+vim.opt.laststatus = 2 -- always a statusline (all window)
vim.opt.showcmd = true -- show current partial command in the bottom right
vim.opt.showmode = false -- dont show current mode (i.e --INSERT--)
@@ -48,16 +48,28 @@ require 'nvim-treesitter.highlight'
local hlmap = vim.treesitter.highlighter.hl_map
hlmap.error = nil
-vim.cmd [[
-augroup packer_user_config
- autocmd!
- autocmd BufWritePost plugins.lua source <afile> | PackerCompile
-augroup end
-]]
+local augroup = vim.api.nvim_create_augroup("cacharle_init_group", {})
+
+-- run PackerCompile when we modify plugins.lua
+vim.api.nvim_create_autocmd(
+ "BufWritePost",
+ {
+ command = "source <afile> | PackerCompile",
+ pattern = "plugins.lua",
+ group = augroup
+ }
+)
-- remove trailing white space on save
-vim.cmd [[ autocmd BufWritePre * %s/\s\+$//e ]]
+vim.api.nvim_create_autocmd(
+ "BufWritePre",
+ { command = [[ %s/\s\+$//e ]], pattern = "*", group = augroup }
+)
-vim.cmd [[ autocmd BufReadPre *.sql.j2 set ft=sql ]]
+-- set filttype for *.sql.j2 files
+vim.api.nvim_create_autocmd(
+ "BufReadPre",
+ { command = "set ft=sql", pattern = "*.sql.j2", group = augroup }
+)
require('mappings')
diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua
index cd6d463..acaf6ec 100644
--- a/config/nvim/lua/plugins.lua
+++ b/config/nvim/lua/plugins.lua
@@ -27,7 +27,11 @@ return require('packer').startup(function()
tag = 'stable',
ft = 'python',
config = function()
- vim.cmd [[ autocmd BufWritePre *.py Black ]]
+ local augroup = vim.api.nvim_create_augroup("cacharle_black_group", {})
+ vim.api.nvim_create_autocmd(
+ "BufWritePre",
+ { command = "Black", pattern = "*.py", group = augroup }
+ )
end
}
@@ -52,7 +56,7 @@ return require('packer').startup(function()
-- nvim lsp configuration
use {
'neovim/nvim-lspconfig',
- ft = {'rust', 'python', 'c', 'cpp', 'lua'},
+ ft = {'rust', 'python', 'c', 'cpp', 'lua', 'go'},
config = function()
local on_attach = function(_, bufnr)
local opts = { noremap = true, silent = true }
@@ -72,10 +76,46 @@ return require('packer').startup(function()
vim.lsp.protocol.make_client_capabilities()
)
+ -- $ go install golang.org/x/tools/gopls
+ lspconfig.gopls.setup {
+ on_attach = on_attach,
+ capabilities = capabilities,
+ settings = {
+ gopls = {
+ analyses = {
+ unusedparams = true
+ },
+ staticcheck = true
+ }
+ }
+ }
+ -- from: https://github.com/golang/tools/blob/master/gopls/doc/vim.md#neovim-imports
+ function go_import_callback()
+ local wait_ms = 1000
+ local params = vim.lsp.util.make_range_params()
+ params.context = {only = {"source.organizeImports"}}
+ local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms)
+ for _, res in pairs(result or {}) do
+ for _, r in pairs(res.result or {}) do
+ if r.edit then
+ vim.lsp.util.apply_workspace_edit(r.edit, "UTF-8")
+ else
+ vim.lsp.buf.execute_command(r.command)
+ end
+ end
+ end
+ end
+ local augroup = vim.api.nvim_create_augroup("cacharle_gopls_group", {})
+ vim.api.nvim_create_autocmd(
+ "BufWritePre",
+ { callback = go_import_callback, pattern = "*.go", group = augroup }
+ )
+
-- lspconfig.clangd.setup { on_attach = on_attach }
-- lspconfig.rust_analyzer.setup { on_attach = on_attach }
-- need python-lsp-server and pyls-flake8
lspconfig.pylsp.setup { on_attach = on_attach, capabilities = capabilities }
+
-- package lua-language-server on ArchLinux
-- lspconfig.sumneko_lua.setup {
-- on_attach = on_attach ,
@@ -234,7 +274,7 @@ return require('packer').startup(function()
icons_enabled = true,
section_separators = '',
component_separators = '',
- globalstatus = true,
+ -- globalstatus = true,
}
}
end
diff --git a/config/zsh/zprofile b/config/zsh/zprofile
index b64522f..0230140 100755
--- a/config/zsh/zprofile
+++ b/config/zsh/zprofile
@@ -9,6 +9,7 @@ elif [ "$(uname)" = 'Darwin' ]
then
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH="$PATH:$HOME/.brew/bin:$HOME/git/dotfiles/bin:$HOME/bin:/usr/local/anaconda3/bin"
+ export PATH="$PATH:$HOME/.local/share/go/bin"
export MAIL='charles.cabergs@colruytgroup.com'
export SUDO='sudo'
export LC_CTYPE='en_US.UTF-8'