added neovim state
This commit is contained in:
parent
5574e33eb0
commit
3691c68cc5
12
states/neovim/config.sls
Normal file
12
states/neovim/config.sls
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
{%- from "neovim/map.jinja" import neovim with context %}
|
||||
neovim-neovimrc-local:
|
||||
file.managed:
|
||||
- name: /etc/xdg/nvim/init.vim
|
||||
- source: salt://neovim/init.vim.j2
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 0644
|
||||
- template: jinja
|
||||
- require:
|
||||
- pkg: neovim-pkg
|
89
states/neovim/defaults.yaml
Normal file
89
states/neovim/defaults.yaml
Normal file
@ -0,0 +1,89 @@
|
||||
---
|
||||
neovim:
|
||||
enabled: true
|
||||
neovimfiles_dir: /etc/xdg/nvim
|
||||
colors_dir: /etc/xdg/nvim/colors
|
||||
plugins_dir: /etc/xdg/nvim/pack/plugins/start
|
||||
config:
|
||||
options: {}
|
||||
use_theme: monokai
|
||||
lets:
|
||||
defaults_neovim:
|
||||
name: g:skip_defaults_vim
|
||||
value: 1
|
||||
rustfmt_autosave:
|
||||
name: g:rustfmt_autosave
|
||||
value: 1
|
||||
ale_completion_enabled:
|
||||
name: g:ale_completion_enabled
|
||||
value: 1
|
||||
sets:
|
||||
fileencoding:
|
||||
name: fileencoding
|
||||
value: utf-8
|
||||
fileencodings:
|
||||
name: fileencodings
|
||||
value: utf-8,latin1
|
||||
encoding:
|
||||
name: encoding
|
||||
value: utf-8
|
||||
eol:
|
||||
name: eol
|
||||
nocompatible:
|
||||
name: nocompatible
|
||||
nofixeol:
|
||||
name: nofixeol
|
||||
noignorecase:
|
||||
name: noignorecase
|
||||
mouse:
|
||||
name: mouse=
|
||||
number:
|
||||
name: number
|
||||
viminfo:
|
||||
name: viminfo
|
||||
value: "'50,<1000,s100,h"
|
||||
timeoutlen:
|
||||
name: timeoutlen
|
||||
value: 1000
|
||||
backspace:
|
||||
name: backspace
|
||||
value: indent,eol,start
|
||||
autoindent:
|
||||
name: autoindent
|
||||
nocindent:
|
||||
name: nocindent
|
||||
ic:
|
||||
name: ic
|
||||
modeline:
|
||||
name: modeline
|
||||
incsearch:
|
||||
name: incsearch
|
||||
tabstop:
|
||||
name: tabstop
|
||||
value: 2
|
||||
shiftwidth:
|
||||
name: shiftwidth
|
||||
value: 2
|
||||
softtabstop:
|
||||
name: softtabstop
|
||||
value: 2
|
||||
expandtab:
|
||||
name: expandtab
|
||||
pastetoggle:
|
||||
name: pastetoggle
|
||||
value: "<F9>"
|
||||
laststatus:
|
||||
name: laststatus
|
||||
value: 2
|
||||
t_Co:
|
||||
name: t_Co
|
||||
value: 256
|
||||
t_ut:
|
||||
name: t_ut
|
||||
value: ""
|
||||
use_syntax: true
|
||||
themes:
|
||||
monokai:
|
||||
name: monokai
|
||||
url: https://raw.githubusercontent.com/sickill/vim-monokai/master/colors/monokai.vim
|
||||
plugins: {}
|
6
states/neovim/init.sls
Normal file
6
states/neovim/init.sls
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
include:
|
||||
- .install
|
||||
- .config
|
||||
- .plugins
|
||||
- .themes
|
53
states/neovim/init.vim.j2
Normal file
53
states/neovim/init.vim.j2
Normal file
@ -0,0 +1,53 @@
|
||||
"{{ salt['pillar.get']('salt_managed', default='Salt Managed') }}
|
||||
{%- from "neovim/map.jinja" import neovim with context %}
|
||||
|
||||
" NeoVIM global configs
|
||||
colorscheme {{ neovim.config.use_theme }}
|
||||
filetype plugin on
|
||||
{%- if neovim.config.use_syntax %}
|
||||
syntax on
|
||||
{%- endif %}
|
||||
|
||||
{% macro cfg(command, setting) -%}
|
||||
{% for key, value in setting.items() %}
|
||||
{{ command }} {{ value.name }}{% if value.value is defined %}={{ value.value }}{% endif %}
|
||||
{%- endfor %}
|
||||
{% endmacro -%}
|
||||
|
||||
" NeoVIM lets
|
||||
{{- cfg("let", neovim.config.lets) }}
|
||||
|
||||
" NeoVIM sets
|
||||
{{- cfg("set", neovim.config.sets) }}
|
||||
|
||||
nnoremap <F9> :!%:p
|
||||
|
||||
if has("autocmd")
|
||||
au VimEnter,InsertLeave * silent execute '!echo -ne "\e[2 q"' | redraw!
|
||||
au InsertEnter,InsertChange *
|
||||
\ if v:insertmode == 'i' |
|
||||
\ silent execute '!echo -ne "\e[6 q"' | redraw! |
|
||||
\ elseif v:insertmode == 'r' |
|
||||
\ silent execute '!echo -ne "\e[4 q"' | redraw! |
|
||||
\ endif
|
||||
au VimLeave * silent execute '!echo -ne "\e[ q"' | redraw!
|
||||
endif
|
||||
|
||||
" NERDTree
|
||||
set wildignore+=*.pyc,*.o,*.obj,*.svn,*.swp,*.class,*.hg,*.DS_Store,*.min.*
|
||||
let g:NERDTreeShowHidden = 1
|
||||
let g:NERDTreeMinimalUI = 1
|
||||
let g:NERDTreeIgnore = []
|
||||
let g:NERDTreeStatusline = ''
|
||||
let g:NERDTreeRespectWildIgnore=1
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
nnoremap <silent> <C-b> :NERDTreeToggle<CR>
|
||||
|
||||
" Support for end-of-lines
|
||||
" au BufWritePre * :set binary | set noeol
|
||||
" au BufWritePost * :set nobinary | set eol
|
||||
|
||||
vnoremap <C-a> g<C-a>
|
||||
vnoremap <C-x> g<C-x>
|
||||
vnoremap g<C-a> <C-a>
|
||||
vnoremap g<C-x> <C-x>
|
17
states/neovim/install.sls
Normal file
17
states/neovim/install.sls
Normal file
@ -0,0 +1,17 @@
|
||||
---
|
||||
{%- from "neovim/map.jinja" import neovim with context %}
|
||||
neovim-pkg:
|
||||
pkg.latest:
|
||||
- pkgs:
|
||||
- git
|
||||
- neovim
|
||||
|
||||
neovim-neovimfiles-directory:
|
||||
file.directory:
|
||||
- name: {{ neovim.plugins_dir }}
|
||||
- makedirs: true
|
||||
|
||||
neovim-colors-directory:
|
||||
file.directory:
|
||||
- name: {{ neovim.colors_dir }}
|
||||
- makedirs: true
|
5
states/neovim/map.jinja
Normal file
5
states/neovim/map.jinja
Normal file
@ -0,0 +1,5 @@
|
||||
{%- import_yaml "neovim/defaults.yaml" as default_settings -%}
|
||||
|
||||
{%- set defaults = salt['grains.filter_by'](default_settings, default='neovim') -%}
|
||||
|
||||
{%- set neovim = salt['pillar.get']('neovim', default=defaults, merge=True) -%}
|
21
states/neovim/plugins.sls
Normal file
21
states/neovim/plugins.sls
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
{%- from "neovim/map.jinja" import neovim with context %}
|
||||
neovim-plugin-git-dep:
|
||||
pkg.installed:
|
||||
- pkgs:
|
||||
- git
|
||||
- python3-jedi
|
||||
- yamllint
|
||||
|
||||
neovim-plugin-dirs:
|
||||
file.directory:
|
||||
- name: {{ neovim.plugins_dir }}
|
||||
- makedirs: true
|
||||
|
||||
{%- for key, value in neovim.plugins.items() %}
|
||||
neovim-plugin-{{ value.name }}:
|
||||
git.latest:
|
||||
- name: {{ value.repo }}
|
||||
- target: {{ neovim.plugins_dir }}/{{ value.name }}
|
||||
- submodules: true
|
||||
{%- endfor %}
|
15
states/neovim/themes.sls
Normal file
15
states/neovim/themes.sls
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
{%- from "neovim/map.jinja" import neovim with context %}
|
||||
{%- for key, value in neovim.themes.items() %}
|
||||
neovim-{{ value.name }}-theme:
|
||||
file.managed:
|
||||
- name: {{ neovim.colors_dir }}/{{ value.name }}.vim
|
||||
- source: {{ value.url }}
|
||||
- skip_verify: true
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 0644
|
||||
- require:
|
||||
- pkg: neovim-pkg
|
||||
- file: neovim-colors-directory
|
||||
{%- endfor %}
|
Loading…
Reference in New Issue
Block a user