From 8df9c6e8a99aa1a82a4adfdf20194c9ab53f6beb Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Tue, 22 Feb 2022 14:07:23 +0100 Subject: Disabling neovim lsp, Added neovim tags support --- config/nvim/lua/plugins.lua | 178 ++++++++++++++++++++++++-------------------- config/zsh/aliases.zsh | 8 +- 2 files changed, 102 insertions(+), 84 deletions(-) (limited to 'config') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 71498e9..e820099 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -8,92 +8,109 @@ return require('packer').startup(function() use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove) use 'romainl/vim-cool' -- only highlight search matches when searching - -- nvim lsp configuration + -- tags managment use { - 'neovim/nvim-lspconfig', - ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + 'ludovicchabant/vim-gutentags', config = function() - local on_attach = function(_, bufnr) - local opts = { noremap = true, silent = true } - local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - map('n', ']', 'lua vim.lsp.buf.definition()', opts) - map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope diagnostics', opts) - map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - end - local lspconfig = require('lspconfig') - 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 } - -- package lua-language-server on ArchLinux - lspconfig.sumneko_lua.setup { - on_attach = on_attach , - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Setup your lua path - path = vim.split(package.path, ';'), - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = {'vim'}, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = { - [vim.fn.expand('$VIMRUNTIME/lua')] = true, - [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, - }, - }, - } - }, - } - vim.diagnostic.config { - signs = false, - update_in_insert = false, - } - end, - } - - -- rust lsp (needs rust-analyser) - use { - 'simrat39/rust-tools.nvim', - requires = {'neovim/nvim-lspconfig'}, - ft = {'rust'}, - config = function() - local on_attach = function(_, bufnr) - local opts = { noremap = true, silent = true } - local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - map('n', ']', 'lua vim.lsp.buf.definition()', opts) - map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope diagnostics', opts) - map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - end - require('rust-tools').setup { - server = { - on_attach = on_attach, - } - } - vim.diagnostic.config { - signs = false, - update_in_insert = false, + vim.g.gutentags_ctags_exclude = { + 'doc/*', + 'docs/*', + 'Makefile', + '.mypy_cache', + '.pytest_cache', + '.tox', + 'build/*', + 'dist/*' } end } + -- nvim lsp configuration + -- use { + -- 'neovim/nvim-lspconfig', + -- ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + -- config = function() + -- local on_attach = function(_, bufnr) + -- local opts = { noremap = true, silent = true } + -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) + -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + -- map('n', 'q', 'Telescope diagnostics', opts) + -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- end + -- local lspconfig = require('lspconfig') + -- 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 } + -- -- package lua-language-server on ArchLinux + -- lspconfig.sumneko_lua.setup { + -- on_attach = on_attach , + -- settings = { + -- Lua = { + -- runtime = { + -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + -- version = 'LuaJIT', + -- -- Setup your lua path + -- path = vim.split(package.path, ';'), + -- }, + -- diagnostics = { + -- -- Get the language server to recognize the `vim` global + -- globals = {'vim'}, + -- }, + -- workspace = { + -- -- Make the server aware of Neovim runtime files + -- library = { + -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, + -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + -- }, + -- }, + -- } + -- }, + -- } + -- vim.diagnostic.config { + -- signs = false, + -- update_in_insert = false, + -- } + -- end, + -- } + -- + -- -- rust lsp (needs rust-analyser) + -- use { + -- 'simrat39/rust-tools.nvim', + -- requires = {'neovim/nvim-lspconfig'}, + -- ft = {'rust'}, + -- config = function() + -- local on_attach = function(_, bufnr) + -- local opts = { noremap = true, silent = true } + -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) + -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + -- map('n', 'q', 'Telescope diagnostics', opts) + -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- end + -- require('rust-tools').setup { + -- server = { + -- on_attach = on_attach, + -- } + -- } + -- vim.diagnostic.config { + -- signs = false, + -- update_in_insert = false, + -- } + -- end + -- } + -- comment text objects use { 'numToStr/Comment.nvim', @@ -181,6 +198,7 @@ return require('packer').startup(function() map('n', '', 'Telescope git_files', {}) map('n', 'H', 'Telescope help_tags', {}) map('n', ';', 'Telescope commands', {}) + map('n', 'p', 'Telescope tags', {}) end } diff --git a/config/zsh/aliases.zsh b/config/zsh/aliases.zsh index 7832558..3a5d0af 100644 --- a/config/zsh/aliases.zsh +++ b/config/zsh/aliases.zsh @@ -83,6 +83,10 @@ gpaf() { git remote | xargs -I{} git push -f {} "$branch" } +alias ytdl='youtube-dl --output "%(title)s.%(ext)s"' +alias ytdlp='youtube-dl --audio-format mp3 -i --output "%(playlist_index)s-%(title)s.%(ext)s"' +alias ytdla='youtube-dl --audio-format mp3 -i -x -f bestaudio/best --output "%(playlist_index)s-%(title)s.%(ext)s"' + # Linux specific aliases [ ! "$(uname)" = 'Linux' ] && return @@ -116,10 +120,6 @@ alias cagor='RUSTFLAGS="$RUSTFLAGS -A dead_code" cargo run' # wifi wificonnect() { nmcli device wifi connect "$1" password "$2" ; } -alias ytdl='youtube-dl --output "%(title)s.%(ext)s"' -alias ytdlp='youtube-dl --audio-format mp3 -i --output "%(playlist_index)s-%(title)s.%(ext)s"' -alias ytdla='youtube-dl --audio-format mp3 -i -x -f bestaudio/best --output "%(playlist_index)s-%(title)s.%(ext)s"' - alias qmvdest='qmv --format=do' alias xclip='xclip -selection clipboard' -- cgit From 747462f7e25acae6957402fc34af084700faf4d5 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Tue, 22 Feb 2022 14:45:37 +0100 Subject: Changed terminal stuff to use nord theme instead of gruvbox --- config/alacritty/alacritty.darwin.yml | 66 ++++++++++++++++++++++++----------- config/nvim/lua/plugins.lua | 36 +++++++++++++------ config/tmux/tmux.conf | 14 +++++--- 3 files changed, 80 insertions(+), 36 deletions(-) (limited to 'config') diff --git a/config/alacritty/alacritty.darwin.yml b/config/alacritty/alacritty.darwin.yml index beb10ac..bedd44d 100644 --- a/config/alacritty/alacritty.darwin.yml +++ b/config/alacritty/alacritty.darwin.yml @@ -28,31 +28,55 @@ key_bindings: - { key: Return, mods: Command, action: ToggleSimpleFullScreen } - { key: Q, mods: Command, chars: "" } -# gruvbox_dark: https://github.com/eendroroy/alacritty-theme/blob/master/schemes.yaml +# Colors (Nord) colors: primary: - # hard contrast: background = '0x1d2021' - background: '0x282828' - # soft contrast: background = '0x32302f' - foreground: '0xebdbb2' + background: '0x2E3440' + foreground: '0xD8DEE9' normal: - black: '0x282828' - red: '0xcc241d' - green: '0x98971a' - yellow: '0xd79921' - blue: '0x458588' - magenta: '0xb16286' - cyan: '0x689d6a' - white: '0xa89984' + black: '0x3B4252' + red: '0xBF616A' + green: '0xA3BE8C' + yellow: '0xEBCB8B' + blue: '0x81A1C1' + magenta: '0xB48EAD' + cyan: '0x88C0D0' + white: '0xE5E9F0' bright: - black: '0x928374' - red: '0xfb4934' - green: '0xb8bb26' - yellow: '0xfabd2f' - blue: '0x83a598' - magenta: '0xd3869b' - cyan: '0x8ec07c' - white: '0xebdbb2' + black: '0x4C566A' + red: '0xBF616A' + green: '0xA3BE8C' + yellow: '0xEBCB8B' + blue: '0x81A1C1' + magenta: '0xB48EAD' + cyan: '0x8FBCBB' + white: '0xECEFF4' + +# gruvbox_dark: https://github.com/eendroroy/alacritty-theme/blob/master/schemes.yaml +# colors: +# primary: +# # hard contrast: background = '0x1d2021' +# background: '0x282828' +# # soft contrast: background = '0x32302f' +# foreground: '0xebdbb2' +# normal: +# black: '0x282828' +# red: '0xcc241d' +# green: '0x98971a' +# yellow: '0xd79921' +# blue: '0x458588' +# magenta: '0xb16286' +# cyan: '0x689d6a' +# white: '0xa89984' +# bright: +# black: '0x928374' +# red: '0xfb4934' +# green: '0xb8bb26' +# yellow: '0xfabd2f' +# blue: '0x83a598' +# magenta: '0xd3869b' +# cyan: '0x8ec07c' +# white: '0xebdbb2' # # colorscheme (Dracula) diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index e820099..b26decb 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -7,6 +7,7 @@ return require('packer').startup(function() use 'FooSoft/vim-argwrap' -- Put arguments on multiple lines use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove) use 'romainl/vim-cool' -- only highlight search matches when searching + use 'lukas-reineke/indent-blankline.nvim' -- tags managment use { @@ -118,20 +119,32 @@ return require('packer').startup(function() require('Comment').setup() end } - -- color scheme + -- gruvbox color scheme + -- use { + -- 'ellisonleao/gruvbox.nvim', + -- requires = {'rktjmp/lush.nvim'}, + -- config = function() + -- vim.opt.termguicolors = true + -- vim.opt.background = "dark" + -- -- vim.cmd [[ colorscheme gruvbox ]] + -- vim.g.gruvbox_italic = 1 + -- vim.g.gruvbox_bold = 1 + -- vim.g.gruvbox_termcolors = 256 + -- vim.g.gruvbox_contrast_dark = 'medium' + -- vim.g.gruvbox_contrast_light = 'hard' + -- vim.g.gruvbox_invert_selection = 0 + -- end + -- } + -- nord color scheme use { - 'ellisonleao/gruvbox.nvim', - requires = {'rktjmp/lush.nvim'}, + 'shaunsingh/nord.nvim', config = function() vim.opt.termguicolors = true vim.opt.background = "dark" - vim.cmd [[ colorscheme gruvbox ]] - vim.g.gruvbox_italic = 1 - vim.g.gruvbox_bold = 1 - vim.g.gruvbox_termcolors = 256 - vim.g.gruvbox_contrast_dark = 'medium' - vim.g.gruvbox_contrast_light = 'hard' - vim.g.gruvbox_invert_selection = 0 + vim.cmd [[ colorscheme nord ]] + vim.g.nord_contrast = true + vim.g.nord_borders = true + vim.g.nord_italic = true end } -- status line @@ -141,7 +154,8 @@ return require('packer').startup(function() config = function() require('lualine').setup { options = { - theme = 'gruvbox', + -- theme = 'gruvbox', + theme = 'nord', icons_enabled = true, section_separators = '', component_separators = '' diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index c514718..fa4c03a 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -2,7 +2,11 @@ unbind C-b set -g prefix C-a bind C-a send-prefix -set -g default-terminal "xterm-256color" +# set -g default-terminal "xterm-256color" +set-option -g default-terminal "screen-256color" +set-option -sa terminal-overrides ',xterm-256color:RGB' + +set-option -g focus-events on set -g mouse on setw -g mode-keys vi @@ -13,11 +17,13 @@ bind '"' split-window -c "#{pane_current_path}" bind '%' split-window -c "#{pane_current_path}" -h bind 'c' new-window -c "#{pane_current_path}" - set -g @plugin 'tmux-plugins/tpm' -set -g @plugin 'egel/tmux-gruvbox' -set -g @tmux-gruvbox 'dark' +# set -g @plugin 'egel/tmux-gruvbox' +# set -g @tmux-gruvbox 'dark' + +set -g @plugin 'arcticicestudio/nord-tmux' + # set -g @plugin 'tomhey/tmux-remote-sessions' run "$XDG_CONFIG_HOME/tmux/plugins/tpm/tpm" -- cgit From 296c1d8822741673c425500ad218b8cde6736a02 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Tue, 22 Feb 2022 15:09:28 +0100 Subject: Added some tmux plugins to show when prefix is active and pipe urls into fzf --- config/tmux/tmux.conf | 2 ++ 1 file changed, 2 insertions(+) (limited to 'config') diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index fa4c03a..530f1ef 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -23,6 +23,8 @@ set -g @plugin 'tmux-plugins/tpm' # set -g @tmux-gruvbox 'dark' set -g @plugin 'arcticicestudio/nord-tmux' +set -g @plugin 'tmux-plugins/tmux-prefix-highlight' +set -g @plugin 'wfxr/tmux-fzf-url' # set -g @plugin 'tomhey/tmux-remote-sessions' -- cgit From ca5e88f2e8bf0a8fb40724a19f9b9e66de9ad52d Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 23 Feb 2022 14:52:47 +0100 Subject: Updated tmux config --- config/tmux/tmux.conf | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'config') diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index 530f1ef..abcea6d 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -3,29 +3,48 @@ set -g prefix C-a bind C-a send-prefix # set -g default-terminal "xterm-256color" -set-option -g default-terminal "screen-256color" -set-option -sa terminal-overrides ',xterm-256color:RGB' -set-option -g focus-events on +# NOTE: recommended by neovim but disliked by ssh +set -g default-terminal "screen-256color" +set -sa terminal-overrides ',xterm-256color:RGB' + +set -g focus-events on +set -g history-limit 5000 +set -s history-file '~/.local/share/tmux/history' + set -g mouse on setw -g mode-keys vi set -sg escape-time 0 # otherwise in vim has a small delay -set-option -g history-limit 5000 +set -sg bell-action none +set -sg status-keys vi bind '"' split-window -c "#{pane_current_path}" bind '%' split-window -c "#{pane_current_path}" -h bind 'c' new-window -c "#{pane_current_path}" -set -g @plugin 'tmux-plugins/tpm' +bind R source-file ~/.config/tmux/tmux.conf + + +set -g status-right-length 100 +# set -g @plugin '~/git/tmux-ssh-mode' + +set -g @plugin 'tmux-plugins/tpm' # set -g @plugin 'egel/tmux-gruvbox' # set -g @tmux-gruvbox 'dark' - set -g @plugin 'arcticicestudio/nord-tmux' set -g @plugin 'tmux-plugins/tmux-prefix-highlight' set -g @plugin 'wfxr/tmux-fzf-url' +# show copy/sync mode with tmux-prefix-highlight +set -g @prefix_highlight_show_copy_mode 'on' +set -g @prefix_highlight_copy_mode_attr 'fg=black,bg=yellow,bold' # default is 'fg=default,bg=yellow' +set -g @prefix_highlight_show_sync_mode 'on' +set -g @prefix_highlight_sync_mode_attr 'fg=black,bg=green' # default is 'fg=default,bg=yellow' + +set -g status-right "#{prefix_highlight}#{tmux-ssh-mode}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %Y-%m-%d #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] %H:%M #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,bold] #H " + # set -g @plugin 'tomhey/tmux-remote-sessions' run "$XDG_CONFIG_HOME/tmux/plugins/tpm/tpm" -- cgit From 30196e455be943777f56da672dee039ca6a27932 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 21 Mar 2022 09:27:51 +0100 Subject: Added black python formatter --- config/nvim/init.lua | 11 ----------- config/nvim/lua/plugins.lua | 10 ++++++++++ 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'config') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 7665221..db908c6 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -43,17 +43,6 @@ 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--) --- colorscheme -vim.opt.termguicolors = true -vim.opt.background = "dark" -vim.cmd [[ colorscheme gruvbox ]] -vim.g.gruvbox_italic = 1 -vim.g.gruvbox_bold = 1 -vim.g.gruvbox_termcolors = 256 -vim.g.gruvbox_contrast_dark = 'medium' -vim.g.gruvbox_contrast_light = 'hard' -vim.g.gruvbox_invert_selection = 0 - -- remove ugly treesitter error highlight require 'nvim-treesitter.highlight' local hlmap = vim.treesitter.highlighter.hl_map diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index b26decb..2156a52 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -9,6 +9,16 @@ return require('packer').startup(function() use 'romainl/vim-cool' -- only highlight search matches when searching use 'lukas-reineke/indent-blankline.nvim' + -- python formatter + use { + 'psf/black', + branch = 'stable', + ft = 'python', + config = function() + vim.cmd [[ autocmd BufWritePre *.py Black ]] + end + } + -- tags managment use { 'ludovicchabant/vim-gutentags', -- cgit From c2af11facbf452fe5d504d65c27ac19a32c0d526 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Thu, 31 Mar 2022 08:53:13 +0200 Subject: Added change conda environment on cd in zshrc --- config/zsh/.zshrc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'config') diff --git a/config/zsh/.zshrc b/config/zsh/.zshrc index 92c55c5..b524a17 100644 --- a/config/zsh/.zshrc +++ b/config/zsh/.zshrc @@ -59,10 +59,23 @@ export SAVEHIST=5000 # executed when changing directory chpwd() { + # ls on cd if not too much files content="$(find . -maxdepth 1 | wc -l)" ([ "$content" -lt 20 ] && ls -l) || echo "$(pwd) contains $content entries" [ "$(uname)" = 'Linux' ] && [ "$(stat -c "%U" .)" = "$USER" ] && touch . # to sort by last cd + + + # change conda env if name of the directory is the name of an env + [ ! -d "$PWD/.git" ] && return + name="$(basename "$PWD")" + [ "$name" = $CONDA_DEFAULT_ENV ] && return + conda env list | + cut -d ' ' -f 1 | + sed -e '/^#/d' -e '/^$/d' -e '/^base$/d' | + grep -q "$name" && + conda activate "$name" + } # https://wiki.archlinux.org/title/Zsh#Shortcut_to_exit_shell_on_partial_command_line @@ -96,3 +109,31 @@ if [ "$(uname)" = 'Linux' ] then . /usr/share/doc/pkgfile/command-not-found.zsh fi + +# upload-config() { +# scp -qr "$HOME/.vim" cce424r@ds-train: +# scp -q "$HOME/.config/vim/vimrc" cce424r@ds-train:.vimrc +# +# scp -qr "$HOME/.vim" cce424r@ds-attic: +# scp -q "$HOME/.config/vim/vimrc" cce424r@ds-attic:.vimrc +# } + +# >>> conda initialize >>> +# !! Contents within this block are managed by 'conda init' !! +__conda_setup="$('/usr/local/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)" +if [ $? -eq 0 ]; then + eval "$__conda_setup" +else + if [ -f "/usr/local/anaconda3/etc/profile.d/conda.sh" ]; then + . "/usr/local/anaconda3/etc/profile.d/conda.sh" + else + export PATH="/usr/local/anaconda3/bin:$PATH" + fi +fi +unset __conda_setup + +if [ -f "/usr/local/anaconda3/etc/profile.d/mamba.sh" ]; then + . "/usr/local/anaconda3/etc/profile.d/mamba.sh" +fi +# <<< conda initialize <<< + -- cgit From a601873e477807e90cbd9bbbcec431815bc3f9ca Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 1 Apr 2022 16:13:48 +0200 Subject: Added .sql.j2 to sql syntax in neovim --- config/nvim/init.lua | 2 ++ 1 file changed, 2 insertions(+) (limited to 'config') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index db908c6..2b46cc9 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -58,4 +58,6 @@ augroup end -- remove trailing white space on save vim.cmd [[ autocmd BufWritePre * %s/\s\+$//e ]] +vim.cmd [[ autocmd BufReadPre *.sql.j2 set ft=sql ]] + require('mappings') -- cgit From 7e68aa434eb56ac5ce9140f501fdc8a2bba10fd6 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 4 Apr 2022 13:56:14 +0200 Subject: Added neovim jinja syntax --- config/nvim/lua/plugins.lua | 118 +++++++++++++++++++++++--------------------- 1 file changed, 63 insertions(+), 55 deletions(-) (limited to 'config') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 2156a52..2e51e37 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -9,6 +9,11 @@ return require('packer').startup(function() use 'romainl/vim-cool' -- only highlight search matches when searching use 'lukas-reineke/indent-blankline.nvim' + use { + 'cacharle/vim-jinja-languages', + requires = {'mitsuhiko/vim-jinja'} + } + -- python formatter use { 'psf/black', @@ -37,60 +42,60 @@ return require('packer').startup(function() } -- nvim lsp configuration - -- use { - -- 'neovim/nvim-lspconfig', - -- ft = {'rust', 'python', 'c', 'cpp', 'lua'}, - -- config = function() - -- local on_attach = function(_, bufnr) - -- local opts = { noremap = true, silent = true } - -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) - -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - -- map('n', 'q', 'Telescope diagnostics', opts) - -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) - -- end - -- local lspconfig = require('lspconfig') - -- 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 } - -- -- package lua-language-server on ArchLinux - -- lspconfig.sumneko_lua.setup { - -- on_attach = on_attach , - -- settings = { - -- Lua = { - -- runtime = { - -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - -- version = 'LuaJIT', - -- -- Setup your lua path - -- path = vim.split(package.path, ';'), - -- }, - -- diagnostics = { - -- -- Get the language server to recognize the `vim` global - -- globals = {'vim'}, - -- }, - -- workspace = { - -- -- Make the server aware of Neovim runtime files - -- library = { - -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, - -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, - -- }, - -- }, - -- } - -- }, - -- } - -- vim.diagnostic.config { - -- signs = false, - -- update_in_insert = false, - -- } - -- end, - -- } - -- + use { + 'neovim/nvim-lspconfig', + ft = {'rust', 'python', 'c', 'cpp', 'lua'}, + config = function() + local on_attach = function(_, bufnr) + local opts = { noremap = true, silent = true } + local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end + map('n', '[', 'lua vim.lsp.buf.declaration()', opts) + map('n', ']', 'lua vim.lsp.buf.definition()', opts) + map('n', 'K', 'lua vim.lsp.buf.hover()', opts) + map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) + map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) + map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) + map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) + map('n', 'q', 'Telescope diagnostics', opts) + map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + end + local lspconfig = require('lspconfig') + -- 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 } + -- package lua-language-server on ArchLinux + -- lspconfig.sumneko_lua.setup { + -- on_attach = on_attach , + -- settings = { + -- Lua = { + -- runtime = { + -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + -- version = 'LuaJIT', + -- -- Setup your lua path + -- path = vim.split(package.path, ';'), + -- }, + -- diagnostics = { + -- -- Get the language server to recognize the `vim` global + -- globals = {'vim'}, + -- }, + -- workspace = { + -- -- Make the server aware of Neovim runtime files + -- library = { + -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, + -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + -- }, + -- }, + -- } + -- }, + -- } + vim.diagnostic.config { + signs = false, + update_in_insert = false, + } + end, + } + -- -- rust lsp (needs rust-analyser) -- use { -- 'simrat39/rust-tools.nvim', @@ -168,7 +173,8 @@ return require('packer').startup(function() theme = 'nord', icons_enabled = true, section_separators = '', - component_separators = '' + component_separators = '', + -- globalstatus = true, -- need 0.7 } } end @@ -223,6 +229,8 @@ return require('packer').startup(function() map('n', 'H', 'Telescope help_tags', {}) map('n', ';', 'Telescope commands', {}) map('n', 'p', 'Telescope tags', {}) + map('n', 'g', 'Telescope live_grep', {}) + map('n', 'G', 'Telescope grep_string', {}) end } -- cgit From d4d3c29d4478b1d9a1d9391bc597bd76953f954e Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Mon, 25 Apr 2022 15:27:31 +0200 Subject: Added nvim-cmp for auto completion --- config/nvim/lua/plugins.lua | 59 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 3 deletions(-) (limited to 'config') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 2e51e37..e5244a5 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -17,7 +17,7 @@ return require('packer').startup(function() -- python formatter use { 'psf/black', - branch = 'stable', + tag = 'stable', ft = 'python', config = function() vim.cmd [[ autocmd BufWritePre *.py Black ]] @@ -41,6 +41,7 @@ return require('packer').startup(function() end } + -- nvim lsp configuration use { 'neovim/nvim-lspconfig', @@ -60,10 +61,14 @@ return require('packer').startup(function() map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) end local lspconfig = require('lspconfig') + local capabilities = require('cmp_nvim_lsp').update_capabilities( + vim.lsp.protocol.make_client_capabilities() + ) + -- 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 } + lspconfig.pylsp.setup { on_attach = on_attach, capabilities = capabilities } -- package lua-language-server on ArchLinux -- lspconfig.sumneko_lua.setup { -- on_attach = on_attach , @@ -127,6 +132,54 @@ return require('packer').startup(function() -- end -- } + use { + 'hrsh7th/nvim-cmp', + requires = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-path', + 'hrsh7th/cmp-buffer', + 'hrsh7th/cmp-nvim-lsp-signature-help', + 'onsails/lspkind.nvim', + }, + config = function() + local lspkind = require('lspkind') + local cmp = require('cmp') + cmp.setup { + mapping = cmp.mapping.preset.insert({ + [''] = cmp.mapping.select_next_item(), + [''] = cmp.mapping.select_prev_item(), + [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + }), + -- order of the sources matter (first are higher priority) + sources = { + { name = "nvim_lsp" }, + { name = 'nvim_lsp_signature_help' }, + { name = "path" }, + { name = "buffer", keyword_length = 2 }, + }, + formatting = { + format = lspkind.cmp_format({ + with_text = true, + menu = { + nvim_lsp = "[LSP]", + path = "[path]", + buffer = "[buf]", + } + }) + }, + window = { + documentation = cmp.config.window.bordered(), + }, + experimental = { + ghost_text = true, + } + } + end + } + + -- comment text objects use { 'numToStr/Comment.nvim', @@ -174,7 +227,7 @@ return require('packer').startup(function() icons_enabled = true, section_separators = '', component_separators = '', - -- globalstatus = true, -- need 0.7 + globalstatus = true, } } end -- cgit From ca5b53db1e8ce9f7f5c33cd9ddcda63d460942e0 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 06:04:56 +0200 Subject: Added nvim vim-slime plugin, Updated zsh chpwd hook to cache conda env list command --- config/nvim/lua/plugins.lua | 9 ++++++++- config/zsh/.zshrc | 5 ++--- 2 files changed, 10 insertions(+), 4 deletions(-) (limited to 'config') diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index e5244a5..cd6d463 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -9,6 +9,13 @@ return require('packer').startup(function() use 'romainl/vim-cool' -- only highlight search matches when searching use 'lukas-reineke/indent-blankline.nvim' + use { + 'jpalardy/vim-slime', + config = function() + vim.g.slime_target = 'tmux' + end + } + use { 'cacharle/vim-jinja-languages', requires = {'mitsuhiko/vim-jinja'} @@ -148,7 +155,7 @@ return require('packer').startup(function() mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.confirm({ select = true }), + [''] = cmp.mapping.confirm({ select = true }), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), }), diff --git a/config/zsh/.zshrc b/config/zsh/.zshrc index b524a17..bde98eb 100644 --- a/config/zsh/.zshrc +++ b/config/zsh/.zshrc @@ -65,17 +65,16 @@ chpwd() { echo "$(pwd) contains $content entries" [ "$(uname)" = 'Linux' ] && [ "$(stat -c "%U" .)" = "$USER" ] && touch . # to sort by last cd - # change conda env if name of the directory is the name of an env [ ! -d "$PWD/.git" ] && return name="$(basename "$PWD")" [ "$name" = $CONDA_DEFAULT_ENV ] && return - conda env list | + [ ! -e "$HOME/conda_envs" ] && conda env list > "$HOME/conda_envs" + < "$HOME/conda_envs" \ cut -d ' ' -f 1 | sed -e '/^#/d' -e '/^$/d' -e '/^base$/d' | grep -q "$name" && conda activate "$name" - } # https://wiki.archlinux.org/title/Zsh#Shortcut_to_exit_shell_on_partial_command_line -- cgit From dfa9425bc2ff78f8c34a11b83cca9ec1277747db Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 14:01:46 +0200 Subject: Added golang lsp --- config/nvim/init.lua | 30 ++++++++++++++++++++--------- config/nvim/lua/plugins.lua | 46 ++++++++++++++++++++++++++++++++++++++++++--- config/zsh/zprofile | 1 + 3 files changed, 65 insertions(+), 12 deletions(-) (limited to 'config') 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 | 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 | 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' -- cgit From bcf388658b20ba4d06df539d6befd01557f5bd8a Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 14:20:34 +0200 Subject: Added telescope fzf native sorter --- config/nvim/init.lua | 6 +++--- config/nvim/lua/plugins.lua | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'config') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 1caa245..016819a 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -44,9 +44,9 @@ vim.opt.showcmd = true -- show current partial command in the bottom r vim.opt.showmode = false -- dont show current mode (i.e --INSERT--) -- remove ugly treesitter error highlight -require 'nvim-treesitter.highlight' -local hlmap = vim.treesitter.highlighter.hl_map -hlmap.error = nil +-- require 'nvim-treesitter.highlight' +-- local hlmap = vim.treesitter.highlighter.hl_map +-- hlmap.error = nil local augroup = vim.api.nvim_create_augroup("cacharle_init_group", {}) diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index acaf6ec..905991b 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -309,10 +309,12 @@ return require('packer').startup(function() requires = { {'nvim-lua/plenary.nvim'}, {'kyazdani42/nvim-web-devicons', opt = true}, + {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }, }, config = function() local actions = require('telescope.actions') - require('telescope').setup { + local telescope = require('telescope') + telescope.setup { defaults = { mappings = { i = { @@ -322,8 +324,9 @@ return require('packer').startup(function() ['kj'] = actions.close, } }, - } + }, } + telescope.load_extension('fzf') local map = vim.api.nvim_set_keymap map('n', '', 'Telescope git_files', {}) map('n', 'H', 'Telescope help_tags', {}) -- cgit From a7c757ff4d4b6bbb3f164cd479a600f4cdd1a288 Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Wed, 27 Apr 2022 14:28:30 +0200 Subject: Changing single quote to double quotes in nvim configs --- config/nvim/init.lua | 14 +-- config/nvim/lua/plugins.lua | 262 ++++++++++++++++++++++---------------------- 2 files changed, 139 insertions(+), 137 deletions(-) (limited to 'config') diff --git a/config/nvim/init.lua b/config/nvim/init.lua index 016819a..d046567 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -1,8 +1,8 @@ -require('plugins') +require("plugins") -- common -vim.g.mapleader = ' ' -- set leader key to space -vim.g.maplocalleader = '-' -- set file local leader key to backslash +vim.g.mapleader = " " -- set leader key to space +vim.g.maplocalleader = "-" -- set file local leader key to backslash vim.opt.compatible = false -- not compatible with vi vim.opt.number = true -- line number vim.opt.numberwidth = 1 -- line numbers gutter autowidth @@ -15,10 +15,10 @@ vim.opt.swapfile = false -- disable swap files vim.opt.scrolloff = 2 -- line padding when scrolling vim.opt.textwidth = 0 -- when line wrap occurs vim.opt.wrapmargin = 0 -- disable auto line wrapping -vim.opt.clipboard = 'unnamedplus' -- use system clipboard +vim.opt.clipboard = "unnamedplus" -- use system clipboard vim.g.c_syntax_for_h = 1 -- .h file use C filetype instead of C++ vim.opt.encoding = "utf-8" -- utf-8 encoding -vim.opt.shellredir = ">" -- don't inclue stderr when reading a command +vim.opt.shellredir = ">" -- don"t inclue stderr when reading a command -- intuitif split opening vim.opt.splitbelow = true @@ -44,7 +44,7 @@ vim.opt.showcmd = true -- show current partial command in the bottom r vim.opt.showmode = false -- dont show current mode (i.e --INSERT--) -- remove ugly treesitter error highlight --- require 'nvim-treesitter.highlight' +-- require "nvim-treesitter.highlight" -- local hlmap = vim.treesitter.highlighter.hl_map -- hlmap.error = nil @@ -72,4 +72,4 @@ vim.api.nvim_create_autocmd( { command = "set ft=sql", pattern = "*.sql.j2", group = augroup } ) -require('mappings') +require("mappings") diff --git a/config/nvim/lua/plugins.lua b/config/nvim/lua/plugins.lua index 905991b..f0b1e11 100644 --- a/config/nvim/lua/plugins.lua +++ b/config/nvim/lua/plugins.lua @@ -1,31 +1,31 @@ vim.cmd [[ packadd packer.nvim ]] -return require('packer').startup(function() - use 'wbthomason/packer.nvim' -- plugin manager (can manage itself) - use 'junegunn/vim-easy-align' -- align - use 'AndrewRadev/sideways.vim' -- Move arguments sideways - use 'FooSoft/vim-argwrap' -- Put arguments on multiple lines - use 'tpope/vim-eunuch' -- basic commands on current file (Rename/Remove) - use 'romainl/vim-cool' -- only highlight search matches when searching - use 'lukas-reineke/indent-blankline.nvim' +return require("packer").startup(function() + use "wbthomason/packer.nvim" -- plugin manager (can manage itself) + use "junegunn/vim-easy-align" -- align + use "AndrewRadev/sideways.vim" -- Move arguments sideways + use "FooSoft/vim-argwrap" -- Put arguments on multiple lines + use "tpope/vim-eunuch" -- basic commands on current file (Rename/Remove) + use "romainl/vim-cool" -- only highlight search matches when searching + use "lukas-reineke/indent-blankline.nvim" use { - 'jpalardy/vim-slime', + "jpalardy/vim-slime", config = function() - vim.g.slime_target = 'tmux' + vim.g.slime_target = "tmux" end } use { - 'cacharle/vim-jinja-languages', - requires = {'mitsuhiko/vim-jinja'} + "cacharle/vim-jinja-languages", + requires = {"mitsuhiko/vim-jinja"} } -- python formatter use { - 'psf/black', - tag = 'stable', - ft = 'python', + "psf/black", + tag = "stable", + ft = "python", config = function() local augroup = vim.api.nvim_create_augroup("cacharle_black_group", {}) vim.api.nvim_create_autocmd( @@ -37,17 +37,17 @@ return require('packer').startup(function() -- tags managment use { - 'ludovicchabant/vim-gutentags', + "ludovicchabant/vim-gutentags", config = function() vim.g.gutentags_ctags_exclude = { - 'doc/*', - 'docs/*', - 'Makefile', - '.mypy_cache', - '.pytest_cache', - '.tox', - 'build/*', - 'dist/*' + "doc/*", + "docs/*", + "Makefile", + ".mypy_cache", + ".pytest_cache", + ".tox", + "build/*", + "dist/*" } end } @@ -55,24 +55,24 @@ return require('packer').startup(function() -- nvim lsp configuration use { - 'neovim/nvim-lspconfig', - ft = {'rust', 'python', 'c', 'cpp', 'lua', 'go'}, + "neovim/nvim-lspconfig", + ft = {"rust", "python", "c", "cpp", "lua", "go"}, config = function() local on_attach = function(_, bufnr) local opts = { noremap = true, silent = true } local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - map('n', ']', 'lua vim.lsp.buf.definition()', opts) - map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - map('n', 'q', 'Telescope diagnostics', opts) - map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + map("n", "[", "lua vim.lsp.buf.declaration()", opts) + map("n", "]", "lua vim.lsp.buf.definition()", opts) + map("n", "K", "lua vim.lsp.buf.hover()", opts) + map("n", "gk", "lua vim.lsp.buf.signature_help()", opts) + map("n", "gd", "lua vim.lsp.buf.definition()", opts) + map("n", "[d", "lua vim.diagnostic.goto_prev()", opts) + map("n", "]d", "lua vim.diagnostic.goto_next()", opts) + map("n", "q", "Telescope diagnostics", opts) + map("n", "rn", "lua vim.lsp.buf.rename()", opts) end - local lspconfig = require('lspconfig') - local capabilities = require('cmp_nvim_lsp').update_capabilities( + local lspconfig = require("lspconfig") + local capabilities = require("cmp_nvim_lsp").update_capabilities( vim.lsp.protocol.make_client_capabilities() ) @@ -122,20 +122,20 @@ return require('packer').startup(function() -- settings = { -- Lua = { -- runtime = { - -- -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - -- version = 'LuaJIT', + -- -- Tell the language server which version of Lua you"re using (most likely LuaJIT in the case of Neovim) + -- version = "LuaJIT", -- -- Setup your lua path - -- path = vim.split(package.path, ';'), + -- path = vim.split(package.path, ";"), -- }, -- diagnostics = { -- -- Get the language server to recognize the `vim` global - -- globals = {'vim'}, + -- globals = {"vim"}, -- }, -- workspace = { -- -- Make the server aware of Neovim runtime files -- library = { - -- [vim.fn.expand('$VIMRUNTIME/lua')] = true, - -- [vim.fn.expand('$VIMRUNTIME/lua/vim/lsp')] = true, + -- [vim.fn.expand("$VIMRUNTIME/lua")] = true, + -- [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, -- }, -- }, -- } @@ -150,24 +150,24 @@ return require('packer').startup(function() -- -- rust lsp (needs rust-analyser) -- use { - -- 'simrat39/rust-tools.nvim', - -- requires = {'neovim/nvim-lspconfig'}, - -- ft = {'rust'}, + -- "simrat39/rust-tools.nvim", + -- requires = {"neovim/nvim-lspconfig"}, + -- ft = {"rust"}, -- config = function() -- local on_attach = function(_, bufnr) -- local opts = { noremap = true, silent = true } -- local map = function(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end - -- map('n', '[', 'lua vim.lsp.buf.declaration()', opts) - -- map('n', ']', 'lua vim.lsp.buf.definition()', opts) - -- map('n', 'K', 'lua vim.lsp.buf.hover()', opts) - -- map('n', 'gk', 'lua vim.lsp.buf.signature_help()', opts) - -- map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - -- map('n', '[d', 'lua vim.diagnostic.goto_prev()', opts) - -- map('n', ']d', 'lua vim.diagnostic.goto_next()', opts) - -- map('n', 'q', 'Telescope diagnostics', opts) - -- map('n', 'rn', 'lua vim.lsp.buf.rename()', opts) + -- map("n", "[", "lua vim.lsp.buf.declaration()", opts) + -- map("n", "]", "lua vim.lsp.buf.definition()", opts) + -- map("n", "K", "lua vim.lsp.buf.hover()", opts) + -- map("n", "gk", "lua vim.lsp.buf.signature_help()", opts) + -- map("n", "gd", "lua vim.lsp.buf.definition()", opts) + -- map("n", "[d", "lua vim.diagnostic.goto_prev()", opts) + -- map("n", "]d", "lua vim.diagnostic.goto_next()", opts) + -- map("n", "q", "Telescope diagnostics", opts) + -- map("n", "rn", "lua vim.lsp.buf.rename()", opts) -- end - -- require('rust-tools').setup { + -- require("rust-tools").setup { -- server = { -- on_attach = on_attach, -- } @@ -180,29 +180,29 @@ return require('packer').startup(function() -- } use { - 'hrsh7th/nvim-cmp', + "hrsh7th/nvim-cmp", requires = { - 'hrsh7th/cmp-nvim-lsp', - 'hrsh7th/cmp-path', - 'hrsh7th/cmp-buffer', - 'hrsh7th/cmp-nvim-lsp-signature-help', - 'onsails/lspkind.nvim', + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-path", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-nvim-lsp-signature-help", + "onsails/lspkind.nvim", }, config = function() - local lspkind = require('lspkind') - local cmp = require('cmp') + local lspkind = require("lspkind") + local cmp = require("cmp") cmp.setup { mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.select_next_item(), - [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.confirm({ select = true }), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.confirm({ select = true }), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), }), -- order of the sources matter (first are higher priority) sources = { { name = "nvim_lsp" }, - { name = 'nvim_lsp_signature_help' }, + { name = "nvim_lsp_signature_help" }, { name = "path" }, { name = "buffer", keyword_length = 2 }, }, @@ -229,15 +229,15 @@ return require('packer').startup(function() -- comment text objects use { - 'numToStr/Comment.nvim', + "numToStr/Comment.nvim", config = function() - require('Comment').setup() + require("Comment").setup() end } -- gruvbox color scheme -- use { - -- 'ellisonleao/gruvbox.nvim', - -- requires = {'rktjmp/lush.nvim'}, + -- "ellisonleao/gruvbox.nvim", + -- requires = {"rktjmp/lush.nvim"}, -- config = function() -- vim.opt.termguicolors = true -- vim.opt.background = "dark" @@ -245,14 +245,14 @@ return require('packer').startup(function() -- vim.g.gruvbox_italic = 1 -- vim.g.gruvbox_bold = 1 -- vim.g.gruvbox_termcolors = 256 - -- vim.g.gruvbox_contrast_dark = 'medium' - -- vim.g.gruvbox_contrast_light = 'hard' + -- vim.g.gruvbox_contrast_dark = "medium" + -- vim.g.gruvbox_contrast_light = "hard" -- vim.g.gruvbox_invert_selection = 0 -- end -- } -- nord color scheme use { - 'shaunsingh/nord.nvim', + "shaunsingh/nord.nvim", config = function() vim.opt.termguicolors = true vim.opt.background = "dark" @@ -264,16 +264,16 @@ return require('packer').startup(function() } -- status line use { - 'nvim-lualine/lualine.nvim', - requires = {'kyazdani42/nvim-web-devicons', opt = true}, + "nvim-lualine/lualine.nvim", + requires = {"kyazdani42/nvim-web-devicons", opt = true}, config = function() - require('lualine').setup { + require("lualine").setup { options = { - -- theme = 'gruvbox', - theme = 'nord', + -- theme = "gruvbox", + theme = "nord", icons_enabled = true, - section_separators = '', - component_separators = '', + section_separators = "", + component_separators = "", -- globalstatus = true, } } @@ -281,10 +281,10 @@ return require('packer').startup(function() } -- better syntax highlight for everything use { - 'nvim-treesitter/nvim-treesitter', - run = ':TSUpdate', + "nvim-treesitter/nvim-treesitter", + run = ":TSUpdate", config = function() - require('nvim-treesitter.configs').setup { + require("nvim-treesitter.configs").setup { highlight = { enable = true }, @@ -305,44 +305,46 @@ return require('packer').startup(function() } -- fuzzy finder (replace fzf.vim or ctrlp.vim) use { - 'nvim-telescope/telescope.nvim', + "nvim-telescope/telescope.nvim", requires = { - {'nvim-lua/plenary.nvim'}, - {'kyazdani42/nvim-web-devicons', opt = true}, - {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }, + {"nvim-lua/plenary.nvim"}, + {"kyazdani42/nvim-web-devicons", opt = true}, + { + "nvim-telescope/telescope-fzf-native.nvim", + run = "make", + config = function() require("telescope").load_extension("fzf") end + }, }, config = function() - local actions = require('telescope.actions') - local telescope = require('telescope') - telesco