aboutsummaryrefslogtreecommitdiffhomepage
path: root/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim')
l---------.config/nvim/my1
-rw-r--r--.config/nvim/my/after/ftplugin/c.vim20
-rw-r--r--.config/nvim/my/after/ftplugin/cmake.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/cpp.vim20
-rw-r--r--.config/nvim/my/after/ftplugin/css.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/gitcommit.vim14
-rw-r--r--.config/nvim/my/after/ftplugin/go.vim17
-rw-r--r--.config/nvim/my/after/ftplugin/haskell.vim22
-rw-r--r--.config/nvim/my/after/ftplugin/html.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/javascript.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/json.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/lisp.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/lua.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/markdown.vim18
-rw-r--r--.config/nvim/my/after/ftplugin/php.vim30
-rw-r--r--.config/nvim/my/after/ftplugin/python.vim21
-rw-r--r--.config/nvim/my/after/ftplugin/qf.vim40
-rw-r--r--.config/nvim/my/after/ftplugin/ruby.vim18
-rw-r--r--.config/nvim/my/after/ftplugin/toml.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/typescript.vim16
-rw-r--r--.config/nvim/my/after/ftplugin/vim.vim22
-rw-r--r--.config/nvim/my/after/ftplugin/yaml.vim16
-rw-r--r--.config/nvim/my/after/syntax/json.vim23
-rw-r--r--.config/nvim/my/after/syntax/python.vim19
-rw-r--r--.config/nvim/my/after/syntax/vim.vim30
-rw-r--r--.config/nvim/my/autoload/autosave.vim70
-rw-r--r--.config/nvim/my/autoload/dummy.vim39
-rw-r--r--.config/nvim/my/colors/ocean.vim262
-rw-r--r--.config/nvim/my/plugin/autosave.vim29
-rw-r--r--.config/nvim/my/plugin/dummy.vim15
-rw-r--r--.config/nvim/my/syntax/gitcommit.vim96
31 files changed, 985 insertions, 1 deletions
diff --git a/.config/nvim/my b/.config/nvim/my
deleted file mode 120000
index dd11040..0000000
--- a/.config/nvim/my
+++ /dev/null
@@ -1 +0,0 @@
-../vim/my \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/c.vim b/.config/nvim/my/after/ftplugin/c.vim
new file mode 100644
index 0000000..12de33e
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/c.vim
@@ -0,0 +1,20 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_c_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+FtpluginSetLocal cinoptions=:0,l1
+
+let g:c_comment_strings = v:true
+let g:c_space_errors = v:true
+
+
+
+let b:did_ftplugin_c_after = 1
diff --git a/.config/nvim/my/after/ftplugin/cmake.vim b/.config/nvim/my/after/ftplugin/cmake.vim
new file mode 100644
index 0000000..b4f5591
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/cmake.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_cmake_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_cmake_after = 1 \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/cpp.vim b/.config/nvim/my/after/ftplugin/cpp.vim
new file mode 100644
index 0000000..13c0374
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/cpp.vim
@@ -0,0 +1,20 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_cpp_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+FtpluginSetLocal cinoptions=:0,l1,g0,N-s
+
+let g:c_comment_strings = v:true
+let g:c_space_errors = v:true
+
+
+
+let b:did_ftplugin_cpp_after = 1 \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/css.vim b/.config/nvim/my/after/ftplugin/css.vim
new file mode 100644
index 0000000..e4743e8
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/css.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_css_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_css_after = 1
diff --git a/.config/nvim/my/after/ftplugin/gitcommit.vim b/.config/nvim/my/after/ftplugin/gitcommit.vim
new file mode 100644
index 0000000..915a193
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/gitcommit.vim
@@ -0,0 +1,14 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_gitcommit_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal spell
+
+
+
+let b:did_ftplugin_gitcommit_after = 1
diff --git a/.config/nvim/my/after/ftplugin/go.vim b/.config/nvim/my/after/ftplugin/go.vim
new file mode 100644
index 0000000..54aa34b
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/go.vim
@@ -0,0 +1,17 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_go_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal noexpandtab
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+FtpluginSetLocal tabstop=4
+
+
+
+let b:did_ftplugin_go_after = 1 \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/haskell.vim b/.config/nvim/my/after/ftplugin/haskell.vim
new file mode 100644
index 0000000..676dcce
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/haskell.vim
@@ -0,0 +1,22 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_haskell_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+
+let g:hs_highlight_boolean = v:true
+let g:hs_highlight_types = v:true
+let g:hs_highlight_more_types = v:true
+let g:hs_highlight_debug = v:true
+let g:hs_allow_hash_operator = v:true
+
+
+
+let b:did_ftplugin_haskell_after = 1
diff --git a/.config/nvim/my/after/ftplugin/html.vim b/.config/nvim/my/after/ftplugin/html.vim
new file mode 100644
index 0000000..a7b36ad
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/html.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_html_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_html_after = 1 \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/javascript.vim b/.config/nvim/my/after/ftplugin/javascript.vim
new file mode 100644
index 0000000..a79e644
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/javascript.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_javascript_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_javascript_after = 1
diff --git a/.config/nvim/my/after/ftplugin/json.vim b/.config/nvim/my/after/ftplugin/json.vim
new file mode 100644
index 0000000..9886a95
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/json.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_json_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_json_after = 1
diff --git a/.config/nvim/my/after/ftplugin/lisp.vim b/.config/nvim/my/after/ftplugin/lisp.vim
new file mode 100644
index 0000000..13c1abc
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/lisp.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_lisp_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_lisp_after = 1
diff --git a/.config/nvim/my/after/ftplugin/lua.vim b/.config/nvim/my/after/ftplugin/lua.vim
new file mode 100644
index 0000000..d0eb8b2
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/lua.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_lua_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=3
+FtpluginSetLocal softtabstop=3
+
+
+
+let b:did_ftplugin_lua_after = 1
diff --git a/.config/nvim/my/after/ftplugin/markdown.vim b/.config/nvim/my/after/ftplugin/markdown.vim
new file mode 100644
index 0000000..36791bc
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/markdown.vim
@@ -0,0 +1,18 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_markdown_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+
+let g:markdown_syntax_conceal = v:false
+
+
+
+let b:did_ftplugin_markdown_after = 1
diff --git a/.config/nvim/my/after/ftplugin/php.vim b/.config/nvim/my/after/ftplugin/php.vim
new file mode 100644
index 0000000..ec7fd3e
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/php.vim
@@ -0,0 +1,30 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_php_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+" If a buffer is empty, insert `<?php` tag and 2 blank lines, and position the
+" cursor at the end of the buffer (line 3, column 0).
+"
+" Example:
+" <?php
+"
+" [cursor]
+if line('$') ==# 1 && empty(getline(1))
+ call setline(1, ['<?php', '', ''])
+ call cursor(3, 0)
+endif
+
+
+
+let b:did_ftplugin_php_after = 1
diff --git a/.config/nvim/my/after/ftplugin/python.vim b/.config/nvim/my/after/ftplugin/python.vim
new file mode 100644
index 0000000..edeac06
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/python.vim
@@ -0,0 +1,21 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_python_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+
+let g:python_highlight_all = v:true
+
+" Overrides the default value: shiftwidth()*2
+let g:pyindent_continue = shiftwidth()
+
+
+
+let b:did_ftplugin_python_after = 1 \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/qf.vim b/.config/nvim/my/after/ftplugin/qf.vim
new file mode 100644
index 0000000..364759c
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/qf.vim
@@ -0,0 +1,40 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_qf_after')
+ finish
+endif
+
+
+
+nnoremap <buffer> p <Return>zz<C-w>p
+nnoremap <silent> <buffer> dd :call <SID>del_entry()<Return>
+xnoremap <silent> <buffer> d :call <SID>del_entry()<Return>
+nnoremap <silent> <buffer> u :<C-u>call <SID>undo_entry()<Return>
+
+
+if exists('*s:undo_entry')
+ finish
+endif
+
+
+function! s:undo_entry()
+ let history = get(w:, 'qf_history', [])
+ if !empty(history)
+ call setqflist(remove(history, -1), 'r')
+ endif
+endfunction
+
+function! s:del_entry() range
+ let qf = getqflist()
+ let history = get(w:, 'qf_history', [])
+ call add(history, copy(qf))
+ let w:qf_history = history
+ unlet! qf[a:firstline - 1 : a:lastline - 1]
+ call setqflist(qf, 'r')
+ execute a:firstline
+endfunction
+
+
+
+let b:did_ftplugin_qf_after = 1
diff --git a/.config/nvim/my/after/ftplugin/ruby.vim b/.config/nvim/my/after/ftplugin/ruby.vim
new file mode 100644
index 0000000..0421a5a
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/ruby.vim
@@ -0,0 +1,18 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_ruby_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+let g:ruby_space_errors = v:true
+
+
+
+let b:did_ftplugin_ruby_after = 1
diff --git a/.config/nvim/my/after/ftplugin/toml.vim b/.config/nvim/my/after/ftplugin/toml.vim
new file mode 100644
index 0000000..84f6ca7
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/toml.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_toml_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_toml_after = 1
diff --git a/.config/nvim/my/after/ftplugin/typescript.vim b/.config/nvim/my/after/ftplugin/typescript.vim
new file mode 100644
index 0000000..cdb1674
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/typescript.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_typescript_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_typescript_after = 1
diff --git a/.config/nvim/my/after/ftplugin/vim.vim b/.config/nvim/my/after/ftplugin/vim.vim
new file mode 100644
index 0000000..1ffa6a3
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/vim.vim
@@ -0,0 +1,22 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_vim_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal colorcolumn=+1
+FtpluginSetLocal expandtab
+FtpluginSetLocal iskeyword-=#
+FtpluginSetLocal keywordprg=:help
+FtpluginSetLocal shiftwidth=4
+FtpluginSetLocal softtabstop=4
+FtpluginSetLocal textwidth=78
+
+let g:vim_indent_cont = 4
+
+
+
+let b:did_ftplugin_vim_after = 1 \ No newline at end of file
diff --git a/.config/nvim/my/after/ftplugin/yaml.vim b/.config/nvim/my/after/ftplugin/yaml.vim
new file mode 100644
index 0000000..5b4734e
--- /dev/null
+++ b/.config/nvim/my/after/ftplugin/yaml.vim
@@ -0,0 +1,16 @@
+scriptencoding utf-8
+
+
+if exists('b:did_ftplugin_yaml_after')
+ finish
+endif
+
+
+
+FtpluginSetLocal expandtab
+FtpluginSetLocal shiftwidth=2
+FtpluginSetLocal softtabstop=2
+
+
+
+let b:did_ftplugin_yaml_after = 1
diff --git a/.config/nvim/my/after/syntax/json.vim b/.config/nvim/my/after/syntax/json.vim
new file mode 100644
index 0000000..0d2651e
--- /dev/null
+++ b/.config/nvim/my/after/syntax/json.vim
@@ -0,0 +1,23 @@
+scriptencoding utf-8
+
+if exists("b:current_syntax_my_json")
+ finish
+endif
+
+if b:current_syntax !=# 'json'
+ finish
+endif
+
+
+" $VIMRUNTIME/syntax/json.vim
+" Language: JSON
+" Maintainer: Eli Parra <eli@elzr.com>
+" Last Change: 2014 Aug 23
+" Version: 0.12
+" Overwrite syntax by non-conceal version even if 'conceal' is enabled.
+syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained
+syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
+
+
+
+let b:current_syntax_my_json = 1
diff --git a/.config/nvim/my/after/syntax/python.vim b/.config/nvim/my/after/syntax/python.vim
new file mode 100644
index 0000000..834ab1f
--- /dev/null
+++ b/.config/nvim/my/after/syntax/python.vim
@@ -0,0 +1,19 @@
+scriptencoding utf-8
+
+
+if exists("b:current_syntax_my_python")
+ finish
+endif
+
+if b:current_syntax !=# 'python'
+ finish
+endif
+
+
+
+" Highlight "self".
+syn keyword pythonSelf self
+hi default link pythonSelf Identifier
+
+
+let b:current_syntax_my_python = 1
diff --git a/.config/nvim/my/after/syntax/vim.vim b/.config/nvim/my/after/syntax/vim.vim
new file mode 100644
index 0000000..a6b0d31
--- /dev/null
+++ b/.config/nvim/my/after/syntax/vim.vim
@@ -0,0 +1,30 @@
+scriptencoding utf-8
+
+
+if exists("b:current_syntax_my_vim")
+ finish
+endif
+
+if b:current_syntax !=# 'vim'
+ finish
+endif
+
+
+
+" Tags
+syn match vimrcDocTagFollowingName /@\(param\|var\|const\|field\)/ contained skipwhite nextgroup=vimrcDocName,vimrcDocName2
+syn match vimrcDocTagFollowingType /@\(return\|class\|ctor\|method\|type\)/ contained skipwhite nextgroup=vimrcDocType
+syn match vimrcDocName /\w\+/ contained skipwhite nextgroup=vimrcDocType
+syn match vimrcDocName2 /\[\w\+\]/hs=s+1,he=e-1 contained skipwhite nextgroup=vimrcDocType
+syn match vimrcDocType /(\w\+)/hs=s+1,he=e-1 contained skipwhite nextgroup=vimrcDocType
+
+syn cluster vimCommentGroup add=vimrcDocTagFollowingName,vimrcDocTagFollowingType
+
+hi def link vimrcDocTagFollowingName Statement
+hi def link vimrcDocTagFollowingType Statement
+hi def link vimrcDocName Identifier
+hi def link vimrcDocName2 Identifier
+hi def link vimrcDocType Type
+
+
+let b:current_syntax_my_vim = 1
diff --git a/.config/nvim/my/autoload/autosave.vim b/.config/nvim/my/autoload/autosave.vim
new file mode 100644
index 0000000..2773460
--- /dev/null
+++ b/.config/nvim/my/autoload/autosave.vim
@@ -0,0 +1,70 @@
+scriptencoding utf-8
+
+
+
+if !exists('g:autosave_interval_ms')
+ let g:autosave_interval_ms = 10 * 1000
+endif
+
+if !exists('g:autosave_silent')
+ let g:autosave_silent = v:true
+endif
+
+
+
+function! autosave#handler(timer_id) abort
+ if !&modified
+ return
+ endif
+ if &readonly
+ return
+ endif
+ if &buftype !=# ''
+ return
+ endif
+ if expand('%') ==# ''
+ return
+ endif
+
+ if !g:autosave_silent
+ echohl Comment
+ echo 'Auto-saving...'
+ echohl None
+ endif
+
+ silent! write
+
+ if !g:autosave_silent
+ echohl Comment
+ echo 'Saved.'
+ echohl None
+ endif
+endfunction
+
+
+function! autosave#enable() abort
+ if !has('timers') && !has('nvim')
+ echohl Error
+ echo "Feature '+timers' not available."
+ echohl None
+ return
+ endif
+ if exists('b:autosave_timer')
+ return
+ endif
+
+ let b:autosave_timer = timer_start(
+ \ g:autosave_interval_ms,
+ \ 'autosave#handler',
+ \ { 'repeat': -1 })
+endfunction
+
+
+function! autosave#disable() abort
+ if !exists('b:autosave_timer')
+ return
+ endif
+
+ call timer_stop('b:autosave_timer')
+ unlet b:autosave_timer
+endfunction
diff --git a/.config/nvim/my/autoload/dummy.vim b/.config/nvim/my/autoload/dummy.vim
new file mode 100644
index 0000000..3019bdf
--- /dev/null
+++ b/.config/nvim/my/autoload/dummy.vim
@@ -0,0 +1,39 @@
+scriptencoding utf-8
+
+
+
+let s:text = {}
+
+let s:text.lipsum = [
+ \ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor',
+ \ 'incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis',
+ \ 'nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
+ \ 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore',
+ \ 'eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt',
+ \ 'in culpa qui officia deserunt mollit anim id est laborum.',
+ \ ]
+
+let s:text.lipsum1 = join(s:text.lipsum)
+
+let s:text.quickbrownfox = 'The quick brown fox jumps over the lazy dog.'
+
+let s:text.ABC = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+
+let s:text.abc = 'abcdefghijklmnopqrstuvwxyz'
+
+let s:text.hiragana = 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん'
+
+let s:text.katakana = 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン'
+
+let s:text.ihatovo = 'あのイーハトーヴォのすきとおった風、夏でも底に冷たさをもつ青いそら、うつくしい森で飾られたモリーオ市、郊外のぎらぎらひかる草の波。'
+
+
+
+function! dummy#insert(type)
+ call append(line('.'), get(s:text, a:type, ''))
+endfunction
+
+
+function! dummy#complete(arglead, cmdline, cursorpos) abort
+ return sort(filter(keys(s:text), {idx, val -> val[0:len(a:arglead)-1] =~? a:arglead}))
+endfunction
diff --git a/.config/nvim/my/colors/ocean.vim b/.config/nvim/my/colors/ocean.vim
new file mode 100644
index 0000000..c3b0a46
--- /dev/null
+++ b/.config/nvim/my/colors/ocean.vim
@@ -0,0 +1,262 @@
+scriptencoding utf-8
+
+
+hi clear
+let g:colors_name = 'ocean'
+
+
+
+" Color palette {{{1
+
+if &background ==# 'dark'
+ let s:palette = {
+ \ 'NONE': 'NONE',
+ \ 'fg': '#b1b1c8',
+ \ 'bg': '#101020',
+ \ 'blue': '#6e6eff',
+ \ 'blue-bg': '#202050',
+ \ 'blue2': '#70b0ff',
+ \ 'comment': '#8686bf',
+ \ 'cursor': '#5b5bb6',
+ \ 'gray': '#353535',
+ \ 'gray2': '#202020',
+ \ 'green': '#c4e088',
+ \ 'green-bg': '#204020',
+ \ 'orange': '#deab52',
+ \ 'orange2': '#ff7100',
+ \ 'red': '#a65f49',
+ \ 'red-bg': '#402020',
+ \ 'selection': '#303060',
+ \ 'yellow': '#a68f49',
+ \ 'yellow2': '#a89562',
+ \ 'yellow3': '#5c5241',
+ \ }
+else
+ let s:palette = {
+ \ 'NONE': 'NONE',
+ \ 'fg': '#203050',
+ \ 'bg': '#f5f5ff',
+ \ 'blue': '#6e6eff',
+ \ 'blue-bg': '#202050',
+ \ 'blue2': '#6f8fff',
+ \ 'comment': '#a0a0e0',
+ \ 'cursor': '#5b5bb6',
+ \ 'gray': '#bebebe',
+ \ 'gray2': '#171717',
+ \ 'green': '#6f9226',
+ \ 'green-bg': '#204020',
+ \ 'orange': '#e79230',
+ \ 'orange2': '#ff7100',
+ \ 'red': '#d77253',
+ \ 'red-bg': '#402020',
+ \ 'selection': '#f0f0d0',
+ \ 'yellow': '#cba224',
+ \ 'yellow2': '#af8e29',
+ \ 'yellow3': '#c6b683',
+ \ }
+endif
+
+
+
+" Semantic highlight group {{{1
+
+function! s:hl(group_name, guifg, guibg, attr) abort
+ execute printf('hi! ocean%s guifg=%s guibg=%s gui=%s cterm=%s',
+ \ a:group_name,
+ \ s:palette[a:guifg],
+ \ s:palette[a:guibg],
+ \ a:attr,
+ \ a:attr)
+endfunction
+
+
+call s:hl('AnalysisError', 'red', 'NONE', 'underline')
+call s:hl('AnalysisWarning', 'yellow2', 'NONE', 'underline')
+call s:hl('Cursor', 'fg', 'cursor', 'NONE')
+call s:hl('DecorationBold', 'NONE', 'NONE', 'bold')
+call s:hl('DecorationUnderlined', 'NONE', 'NONE', 'underline')
+call s:hl('DiffAdd', 'NONE', 'blue-bg', 'NONE')
+call s:hl('DiffChange', 'NONE', 'green-bg', 'NONE')
+call s:hl('DiffDelete', 'NONE', 'red-bg', 'NONE')
+call s:hl('DiffText', 'NONE', 'green-bg', 'underline')
+call s:hl('Error', 'red', 'NONE', 'NONE')
+call s:hl('Hidden', 'bg', 'bg', 'NONE')
+call s:hl('Normal', 'fg', 'bg', 'NONE')
+call s:hl('Prompt', 'comment', 'NONE', 'bold')
+call s:hl('Search', 'bg', 'yellow3', 'NONE')
+call s:hl('Special', 'red', 'NONE', 'NONE')
+call s:hl('SpecialKey', 'gray', 'NONE', 'NONE')
+call s:hl('SyntaxComment', 'comment', 'NONE', 'NONE')
+call s:hl('SyntaxCommentSpecial', 'fg', 'NONE', 'bold')
+call s:hl('SyntaxConstant', 'red', 'NONE', 'NONE')
+call s:hl('SyntaxIdentifier', 'green', 'NONE', 'NONE')
+call s:hl('SyntaxStatement', 'blue', 'NONE', 'bold')
+call s:hl('SyntaxStatement2', 'blue', 'NONE', 'NONE')
+call s:hl('SyntaxString', 'yellow', 'NONE', 'NONE')
+call s:hl('SyntaxType', 'blue2', 'NONE', 'NONE')
+call s:hl('Title', 'orange', 'NONE', 'NONE')
+call s:hl('UiCompletion', 'fg', 'gray', 'NONE')
+call s:hl('UiSelection', 'NONE', 'selection', 'NONE')
+call s:hl('UiStatusLine', 'fg', 'gray', 'NONE')
+call s:hl('UiStatusLineModeCommand', 'bg', 'blue', 'bold')
+call s:hl('UiStatusLineModeInsert', 'bg', 'green', 'bold')
+call s:hl('UiStatusLineModeNormal', 'bg', 'blue', 'bold')
+call s:hl('UiStatusLineModeOperator', 'bg', 'blue', 'bold')
+call s:hl('UiStatusLineModeOther', 'bg', 'blue', 'bold')
+call s:hl('UiStatusLineModeReplace', 'bg', 'red', 'bold')
+call s:hl('UiStatusLineModeTerminal', 'bg', 'blue', 'bold')
+call s:hl('UiStatusLineModeVisual', 'bg', 'orange', 'bold')
+call s:hl('UiStatusLineNC', 'fg', 'gray2', 'NONE')
+call s:hl('UiTabLine', 'fg', 'gray', 'NONE')
+call s:hl('UiTabLineNC', 'fg', 'bg', 'NONE')
+call s:hl('UiTarget', 'orange2', 'NONE', 'underline')
+call s:hl('Warning', 'yellow2', 'NONE', 'NONE')
+
+delfunction! s:hl
+
+
+
+" Highlight link {{{1
+
+" :sort /hi! link \w\+ \+/
+
+" Vim builtins {{{2
+
+hi! link SpellBad oceanAnalysisError
+hi! link SpellCap oceanAnalysisError
+hi! link SpellLocal oceanAnalysisWarning
+hi! link SpellRare oceanAnalysisWarning
+hi! link Cursor oceanCursor
+hi! link CursorIM oceanCursor
+hi! link Underlined oceanDecorationUnderlined
+hi! link DiffAdd oceanDiffAdd
+hi! link DiffChange oceanDiffChange
+hi! link DiffDelete oceanDiffDelete
+hi! link DiffText oceanDiffText
+hi! link Error oceanError
+hi! link ErrorMsg oceanError
+hi! link EndOfBuffer oceanHidden
+hi! link MatchParen oceanHidden
+hi! link CursorLineNr oceanNormal
+hi! link Normal oceanNormal
+hi! link PMenu oceanUiCompletion
+hi! link PMenuSbar oceanUiCompletion
+hi! link PMenuThumb oceanUiCompletion
+hi! link MoreMsg oceanPrompt
+hi! link Question oceanPrompt
+hi! link IncSearch oceanSearch
+hi! link Search oceanSearch
+hi! link CursorColumn oceanUiSelection
+hi! link CursorLine oceanUiSelection
+hi! link FoldColumn oceanUiSelection
+hi! link LineNr oceanUiSelection
+hi! link PMenuSel oceanUiSelection
+hi! link SignColumn oceanUiSelection
+hi! link Visual oceanUiSelection
+hi! link Special oceanSpecial
+hi! link NonText oceanSpecialKey
+hi! link SpecialKey oceanSpecialKey
+hi! link VertSplit oceanUiStatusLine
+hi! link Comment oceanSyntaxComment
+hi! link Folded oceanSyntaxComment
+hi! link ModeMsg oceanSyntaxComment
+hi! link SpecialComment oceanSyntaxCommentSpecial
+hi! link Todo oceanSyntaxCommentSpecial
+hi! link Constant oceanSyntaxConstant
+hi! link Identifier oceanSyntaxIdentifier
+hi! link Statement oceanSyntaxStatement
+hi! link Operator oceanSyntaxStatement2
+hi! link PreProc oceanSyntaxStatement2
+hi! link Character oceanSyntaxString
+hi! link String oceanSyntaxString
+hi! link Directory oceanSyntaxType
+hi! link Type oceanSyntaxType
+hi! link Title oceanTitle
+hi! link WildMenu oceanTitle
+hi! link ColorColumn oceanUiSelection
+hi! link WarningMsg oceanWarning
+
+
+" 'statusline' and 'tabline' {{{2
+
+" Cited from ':h hl-StatusLineNC':
+" > Note: if this is equal to "StatusLine" Vim will use "^^^" in
+" > the status line of the current window.
+hi! link StatusLine oceanUiStatusLine
+hi! link StatusLineNC oceanUiStatusLineNC
+hi! link statusLineModeNormal oceanUiStatusLineModeNormal
+hi! link statusLineModeInsert oceanUiStatusLineModeInsert
+hi! link statusLineModeVisual oceanUiStatusLineModeVisual
+hi! link statusLineModeOperator oceanUiStatusLineModeOperator
+hi! link statusLineModeReplace oceanUiStatusLineModeReplace
+hi! link statusLineModeCommand oceanUiStatusLineModeCommand
+hi! link statusLineModeTerminal oceanUiStatusLineModeTerminal
+hi! link statusLineModeOther oceanUiStatusLineModeOther
+
+
+hi! link TabLineSel oceanUiTabLine
+hi! link TabLine oceanUiTabLineNC
+hi! link TabLineFill oceanHidden
+
+
+" Third-party plugins {{{2
+
+hi! link YankRoundRegion oceanUiSelection
+
+hi! link OperatorSandwichAdd oceanUiSelection
+hi! link OperatorSandwichBuns oceanUiSelection
+hi! link OperatorSandwichChange oceanUiSelection
+hi! link OperatorSandwichDelete oceanUiSelection
+
+hi! link EasyMotionMoveHL oceanSearch
+hi! link EasyMotionTarget oceanUiTarget
+
+
+" File types {{{2
+
+" c {{{3
+
+hi! link cOctalZero oceanConstant
+
+" cpp {{{3
+
+hi! link cppRawStringDelimiter oceanSyntaxString
+
+" html {{{3
+
+hi! link htmlEndTag oceanSyntaxStatement2
+hi! link htmlTag oceanSyntaxStatement2
+hi! link htmlTagName oceanSyntaxStatement2
+
+" php {{{3
+
+hi! link phpParent oceanNormal
+hi! link phpOperator oceanNormal
+hi! link phpRelation oceanNormal
+hi! link phpDocTags oceanSyntaxCommentSpecial
+hi! link phpSpecialFunction oceanSyntaxIdentifier
+
+" ruby {{{3
+
+hi! link rubyDataDirective oceanSyntaxStatement2
+hi! link rubyStringDelimiter oceanSyntaxString
+
+
+
+
+
+" sh {{{3
+
+hi! link shQuote oceanSyntaxString
+hi! link shDerefSimple oceanSyntaxIdentifier
+hi! link shDerefVar oceanSyntaxIdentifier
+
+
+
+
+
+" Utilities {{{1
+
+command! -bar
+ \ OceanGetHighlightGroupName
+ \ echo synIDattr(synID(line('.'), col('.'), v:false), 'name')
diff --git a/.config/nvim/my/plugin/autosave.vim b/.config/nvim/my/plugin/autosave.vim
new file mode 100644
index 0000000..6339dcb
--- /dev/null
+++ b/.config/nvim/my/plugin/autosave.vim
@@ -0,0 +1,29 @@
+scriptencoding utf-8
+
+if exists('g:loaded_autosave')
+ finish
+endif
+
+
+
+command! -bar
+ \ AutosaveEnable
+ \ call autosave#enable()
+
+
+command! -bar
+ \ AutosaveDisable
+ \ call autosave#disable()
+
+
+command! -bar
+ \ AutosaveToggle
+ \ if exists('b:autosave_timer') |
+ \ call autosave#disable() |
+ \ else |
+ \ call autosave#enable() |
+ \ endif
+
+
+
+let g:loaded_autosave = 1
diff --git a/.config/nvim/my/plugin/dummy.vim b/.config/nvim/my/plugin/dummy.vim
new file mode 100644
index 0000000..ce7b901
--- /dev/null
+++ b/.config/nvim/my/plugin/dummy.vim
@@ -0,0 +1,15 @@
+scriptencoding utf-8
+
+if exists('g:loaded_dummy')
+ finish
+endif
+
+
+
+command! -bar -complete=customlist,dummy#complete -nargs=1
+ \ Dummy
+ \ call dummy#insert(<f-args>)
+
+
+
+let g:loaded_dummy = 1
diff --git a/.config/nvim/my/syntax/gitcommit.vim b/.config/nvim/my/syntax/gitcommit.vim
new file mode 100644
index 0000000..14232a2
--- /dev/null
+++ b/.config/nvim/my/syntax/gitcommit.vim
@@ -0,0 +1,96 @@
+" Vim syntax file
+" Language: git commit file
+" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
+" Filenames: *.git/COMMIT_EDITMSG
+" Last Change: 2019 Dec 05
+"
+" Modified By: nsfisis
+" Changed comment char from '#' (git default) to ';'.
+
+if exists("b:current_syntax")
+ finish
+endif
+
+syn case match
+syn sync minlines=50
+
+if has("spell")
+ syn spell toplevel
+endif
+
+syn include @gitcommitDiff syntax/diff.vim
+syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|#\)\@=/ fold contains=@gitcommitDiff
+
+syn match gitcommitSummary "^.*\%<51v." contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
+syn match gitcommitOverflow ".*" contained contains=@Spell
+syn match gitcommitBlank "^[^;].*" contained contains=@Spell
+
+if get(g:, "gitcommit_cleanup") is# "scissors"
+ syn match gitcommitFirstLine "\%^.*" nextgroup=gitcommitBlank skipnl
+ syn region gitcommitComment start=/^; -\+ >8 -\+$/ end=/\%$/ contains=gitcommitDiff
+else
+ syn match gitcommitFirstLine "\%^[^;].*" nextgroup=gitcommitBlank skipnl
+ syn match gitcommitComment "^;.*"
+endif
+
+syn match gitcommitHead "^\%(; .*\n\)\+;$" contained transparent
+syn match gitcommitOnBranch "\%(^; \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
+syn match gitcommitOnBranch "\%(^; \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
+syn match gitcommitBranch "[^ ']\+" contained
+syn match gitcommitNoBranch "\%(^; \)\@<=Not currently on any branch." contained containedin=gitcommitComment
+syn match gitcommitHeader "\%(^; \)\@<=.*:$" contained containedin=gitcommitComment
+syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^; \)\@<=\%(Author\|Committer\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
+syn match gitcommitNoChanges "\%(^; \)\@<=No changes$" contained containedin=gitcommitComment
+
+syn region gitcommitUntracked start=/^; Untracked files:/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
+syn match gitcommitUntrackedFile "\t\@<=.*" contained
+
+syn region gitcommitDiscarded start=/^; Change\%(s not staged for commit\|d but not updated\):/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
+syn region gitcommitSelected start=/^; Changes to be committed:/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
+syn region gitcommitUnmerged start=/^; Unmerged paths:/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType fold
+
+
+syn match gitcommitDiscardedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
+syn match gitcommitSelectedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
+syn match gitcommitUnmergedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitUnmergedFile skipwhite
+syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
+syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
+syn match gitcommitUnmergedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
+syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
+syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
+syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitSelectedFile
+
+syn match gitcommitWarning "\%^[^;].*: needs merge$" nextgroup=gitcommitWarning skipnl
+syn match gitcommitWarning "^[^;].*: needs merge$" nextgroup=gitcommitWarning skipnl contained
+syn match gitcommitWarning "^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$"
+
+hi def link gitcommitSummary Keyword
+hi def link gitcommitComment Comment
+hi def link gitcommitUntracked gitcommitComment
+hi def link gitcommitDiscarded gitcommitComment
+hi def link gitcommitSelected gitcommitComment
+hi def link gitcommitUnmerged gitcommitComment
+hi def link gitcommitOnBranch Comment
+hi def link gitcommitBranch Special
+hi def link gitcommitNoBranch gitCommitBranch
+hi def link gitcommitDiscardedType gitcommitType
+hi def link gitcommitSelectedType gitcommitType
+hi def link gitcommitUnmergedType gitcommitType
+hi def link gitcommitType Type
+hi def link gitcommitNoChanges gitcommitHeader
+hi def link gitcommitHeader PreProc
+hi def link gitcommitUntrackedFile gitcommitFile
+hi def link gitcommitDiscardedFile gitcommitFile
+hi def link gitcommitSelectedFile gitcommitFile
+hi def link gitcommitUnmergedFile gitcommitFile
+hi def link gitcommitFile Constant
+hi def link gitcommitDiscardedArrow gitcommitArrow
+hi def link gitcommitSelectedArrow gitcommitArrow
+hi def link gitcommitUnmergedArrow gitcommitArrow
+hi def link gitcommitArrow gitcommitComment
+"hi def link gitcommitOverflow Error
+hi def link gitcommitBlank Error
+
+hi def link gitcommitIssue Constant
+
+let b:current_syntax = "gitcommit"