Use RGB colors for nvim
So we can use some nice plugins.
This commit is contained in:
parent
c2d3ccb779
commit
9bfe9d25e4
|
@ -24,6 +24,15 @@
|
|||
src: loader.j2
|
||||
dest: "{{ ansible_user_dir }}/.config/vim/loader.vim"
|
||||
mode: "u=rw,g=r,o=r"
|
||||
tags: g
|
||||
|
||||
- name: Install theme
|
||||
template:
|
||||
src: theme.j2
|
||||
dest: "{{ ansible_user_dir }}/.config/vim/theme.vim"
|
||||
mode: "u=rw,g=r,o=r"
|
||||
tags:
|
||||
- color
|
||||
|
||||
- name: Configure vim plugin list
|
||||
template:
|
||||
|
|
|
@ -20,3 +20,7 @@ source ~/.config/{{ variant }}/plugininstall.vim
|
|||
" PLUGINS CONFIGURATION
|
||||
|
||||
{% include 'pluginconfig.j2' %}
|
||||
|
||||
" THEME CONFIGURATION
|
||||
|
||||
source ~/.config/vim/theme.vim
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
if has('nvim')
|
||||
source ~/.config/nvim/init.vim
|
||||
let $MYVIMRC="~/.config/nvim/init.vim"
|
||||
else
|
||||
source ~/.config/vim/init.vim
|
||||
let $MYVIMRC="~/.config/vim/init.vim"
|
||||
endif
|
||||
source $MYVIMRC
|
||||
|
|
|
@ -7,10 +7,21 @@
|
|||
" END PLUGIN CONFIG {{ name }}
|
||||
{%- endmacro -%}
|
||||
|
||||
" Config reload
|
||||
{% if variant == 'nvim' %}
|
||||
{{ use_plugin('reload') }}
|
||||
{% endif %}
|
||||
|
||||
" Visuals
|
||||
{{ use_plugin('base16') }}
|
||||
{{ use_plugin('airline') }}
|
||||
{{ use_plugin('devicons') }}
|
||||
{% if variant == 'nvim' %}
|
||||
{{ use_plugin('lightbulb') }}
|
||||
{{ use_plugin('ts-rainbow') }}
|
||||
{{ use_plugin('specs') }}
|
||||
{% endif %}
|
||||
|
||||
|
||||
" Goto utilities
|
||||
{% if variant == 'nvim' %}
|
||||
|
@ -62,20 +73,23 @@
|
|||
|
||||
" Git helpers
|
||||
{{ use_plugin('fugitive') }}
|
||||
{% if variant == 'nvim' %}
|
||||
{{ use_plugin('gitsigns') }}
|
||||
{% else %}
|
||||
{{ use_plugin('gitgutter') }}
|
||||
{% endif %}
|
||||
|
||||
" Language-specific stuff
|
||||
{{ use_plugin('tcomment') }}
|
||||
{{ use_plugin('languagetool') }}
|
||||
{{ use_plugin('pandoc') }}
|
||||
{% if variant == 'nvim' %}
|
||||
{{ use_plugin('dap') }}
|
||||
{% else %}
|
||||
{% if 'c' in dev_stuffs or 'c++' in dev_stuffs %}
|
||||
{{ use_plugin('vebugger') }}
|
||||
{% endif %}
|
||||
{#
|
||||
{% if 'python' in dev_stuffs and variant == 'nvim' %}
|
||||
{{ use_plugin('semshi') }}
|
||||
{% endif %}
|
||||
#}
|
||||
{% if 'ansible' in dev_stuffs %}
|
||||
{{ use_plugin('ansible') }}
|
||||
{% endif %}
|
||||
|
|
|
@ -8,7 +8,6 @@ let g:airline#extensions#tabline#enabled = 1
|
|||
let g:airline_section_a = airline#section#create(['mode'])
|
||||
let g:airline_section_b = airline#section#create(['branch', 'hunks'])
|
||||
" let g:airline_section_z = airline#section#create(['%B', '@', '%l', ':', '%c'])
|
||||
let g:airline_theme = 'base16_monokai'
|
||||
|
||||
let airline#extensions#languageclient#error_symbol = '✖ '
|
||||
let airline#extensions#languageclient#warning_symbol = '⚠ '
|
||||
|
|
|
@ -1,17 +1,7 @@
|
|||
{#
|
||||
" nvim plugin doesn't support terminal colors
|
||||
{% if variant == 'nvim' %}
|
||||
{# Beware, doesn't work without RGB colors #}
|
||||
{{ add_source('RRethy/nvim-base16') -}}
|
||||
{% else %}
|
||||
#}
|
||||
{{ add_source('chriskempson/base16-vim') -}}
|
||||
{#
|
||||
{% endif %}
|
||||
#}
|
||||
colorscheme base16-default-dark
|
||||
|
||||
" let base16colorspace=256
|
||||
" set termguicolors
|
||||
" Some terminals requires a combination of the previous
|
||||
" (the last one being setting the colorscheme to the exact theme in use),
|
||||
" but it's a mess so I let you to figure out which one needs which
|
||||
|
|
2
config/automatrop/roles/vim/templates/plugins/dap.j2
Normal file
2
config/automatrop/roles/vim/templates/plugins/dap.j2
Normal file
|
@ -0,0 +1,2 @@
|
|||
{# Debug Adapter Protocol client #}
|
||||
{{ add_source('mfussenegger/nvim-dap') -}}
|
|
@ -0,0 +1,7 @@
|
|||
{# Show changed git lines in the gutter #}
|
||||
{{ add_source('lewis6991/gitsigns.nvim') -}}
|
||||
{# Dependency #}
|
||||
{{ add_source('nvim-lua/plenary.nvim') -}}
|
||||
lua << EOF
|
||||
require('gitsigns').setup()
|
||||
EOF
|
|
@ -0,0 +1,3 @@
|
|||
{# Shows a lightbulb whenever a codeAction is available under the cursor #}
|
||||
{{ add_source('kosayoda/nvim-lightbulb') -}}
|
||||
autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb()
|
|
@ -7,19 +7,6 @@ local nvim_lsp = require('lspconfig')
|
|||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(client, bufnr)
|
||||
|
||||
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
-- disable virtual text
|
||||
virtual_text = false,
|
||||
|
||||
-- show signs
|
||||
signs = true,
|
||||
|
||||
-- delay update diagnostics
|
||||
update_in_insert = false,
|
||||
}
|
||||
)
|
||||
|
||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||
|
||||
|
@ -34,7 +21,7 @@ local on_attach = function(client, bufnr)
|
|||
-- buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||
buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
buf_set_keymap('n', '<C-K>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
buf_set_keymap('n', '<C-S-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
|
@ -42,9 +29,9 @@ local on_attach = function(client, bufnr)
|
|||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
-- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>d', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
buf_set_keymap('n', '[e', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||
buf_set_keymap('n', ']e', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
buf_set_keymap("v", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR><Esc>", opts)
|
||||
|
|
2
config/automatrop/roles/vim/templates/plugins/reload.j2
Normal file
2
config/automatrop/roles/vim/templates/plugins/reload.j2
Normal file
|
@ -0,0 +1,2 @@
|
|||
{{ add_source('famiu/nvim-reload') -}}
|
||||
{{ add_source('nvim-lua/plenary.nvim') -}}
|
6
config/automatrop/roles/vim/templates/plugins/shade.j2
Normal file
6
config/automatrop/roles/vim/templates/plugins/shade.j2
Normal file
|
@ -0,0 +1,6 @@
|
|||
{# Dim inactive windows #}
|
||||
{# Not working very well, at least with undotree #}
|
||||
{{add_source('sunjon/shade.nvim')-}}
|
||||
lua << EOF
|
||||
require'shade'.setup()
|
||||
EOF
|
20
config/automatrop/roles/vim/templates/plugins/specs.j2
Normal file
20
config/automatrop/roles/vim/templates/plugins/specs.j2
Normal file
|
@ -0,0 +1,20 @@
|
|||
{{ add_source('edluffy/specs.nvim') -}}
|
||||
lua << EOF
|
||||
require('specs').setup{
|
||||
show_jumps = true,
|
||||
min_jump = 5,
|
||||
popup = {
|
||||
delay_ms = 0, -- delay before popup displays
|
||||
inc_ms = 10, -- time increments used for fade/resize effects
|
||||
blend = 10, -- starting blend, between 0-100 (fully transparent), see :h winblend
|
||||
width = 10,
|
||||
winhl = "PMenu",
|
||||
fader = require('specs').pulse_fader,
|
||||
resizer = require('specs').shrink_resizer
|
||||
},
|
||||
ignore_filetypes = {},
|
||||
ignore_buftypes = {
|
||||
nofile = true,
|
||||
},
|
||||
}
|
||||
EOF
|
|
@ -19,8 +19,8 @@ noremap gr <cmd>Telescope lsp_references<cr>
|
|||
noremap ga <cmd>Telescope lsp_code_actions<cr>
|
||||
vnoremap ga <cmd>Telescope lsp_range_code_actions<cr>
|
||||
noremap gq <cmd>Telescope lsp_document_diagnostics<cr>
|
||||
noremap gQ <cmd>Telescope lsp_workspace_diagnostics<cr>
|
||||
noremap gd <cmd>Telescope lsp_definitions<cr>
|
||||
noremap gE <cmd>Telescope lsp_workspace_diagnostics<cr>
|
||||
noremap ge <cmd>Telescope lsp_definitions<cr>
|
||||
|
||||
lua << EOF
|
||||
require('telescope').setup{
|
||||
|
|
|
@ -3,4 +3,28 @@
|
|||
{# To check if it's really working
|
||||
{{ add_source('nvim-treesitter/playground') -}}
|
||||
#}
|
||||
{# TODO Find a way to run `:TSInstall all` non-interactively #}
|
||||
lua <<EOF
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
ensure_installed = "maintained",
|
||||
ignore_install = {},
|
||||
highlight = {
|
||||
enable = true,
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "gnn",
|
||||
node_incremental = "grn",
|
||||
scope_incremental = "grc",
|
||||
node_decremental = "grm",
|
||||
},
|
||||
},
|
||||
{# Not very working yet, I'm afraid
|
||||
indent = {
|
||||
enable = true,
|
||||
},
|
||||
#}
|
||||
}
|
||||
EOF
|
||||
|
||||
{# TODO Investigate https://github.com/nvim-treesitter/nvim-treesitter-textobjects #}
|
||||
|
|
11
config/automatrop/roles/vim/templates/plugins/ts-rainbow.j2
Normal file
11
config/automatrop/roles/vim/templates/plugins/ts-rainbow.j2
Normal file
|
@ -0,0 +1,11 @@
|
|||
{# Randomly color parentheses pairs #}
|
||||
{{add_source('p00f/nvim-ts-rainbow')-}}
|
||||
lua << EOF
|
||||
require'nvim-treesitter.configs'.setup {
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 1000, -- Do not enable for files with more than 1000 lines, int
|
||||
}
|
||||
}
|
||||
EOF
|
1
config/automatrop/roles/vim/templates/theme.j2
Normal file
1
config/automatrop/roles/vim/templates/theme.j2
Normal file
|
@ -0,0 +1 @@
|
|||
colorscheme base16-{{ base16_scheme }}
|
Loading…
Reference in a new issue