aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.config/nvim/lazy-lock.json3
-rw-r--r--.config/nvim/lua/init/05-appearance.lua15
-rw-r--r--.config/nvim/lua/vimrc/plugins.lua128
3 files changed, 61 insertions, 85 deletions
diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json
index 88283a9..eedb3f1 100644
--- a/.config/nvim/lazy-lock.json
+++ b/.config/nvim/lazy-lock.json
@@ -4,8 +4,8 @@
"colorswatch.vim": { "branch": "main", "commit": "2e3f847fc0e493de8b119d3c8560e47ceeff595c" },
"committia.vim": { "branch": "master", "commit": "a187b8633694027ab5ef8a834527d33093282f95" },
"copilot.vim": { "branch": "release", "commit": "9484e35cf222e9360e05450622a884f95c662c4c" },
+ "denops.vim": { "branch": "main", "commit": "b5dfcbc249a7559cbdc08ba1b7dc1cd92dec6d98" },
"emmet-vim": { "branch": "master", "commit": "def5d57a1ae5afb1b96ebe83c4652d1c03640f4d" },
- "eskk.vim": { "branch": "master", "commit": "a2a722c1c020748249a1f04b788cecd4f509202b" },
"fern-hijack.vim": { "branch": "master", "commit": "f65524899231b15528066744e714fb344abf0892" },
"fern.vim": { "branch": "main", "commit": "928d355e4c06e08eb3c9062485a661f1d37b01d1" },
"foldCC.vim": { "branch": "master", "commit": "344335d27349b837d33dc7757de0cb7930ac33ae" },
@@ -17,6 +17,7 @@
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
"plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" },
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
+ "skkeleton": { "branch": "main", "commit": "438b9d22d926569db6e6034e0d333edce5f4d4cf" },
"telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" },
"textobj-wiw": { "branch": "master", "commit": "8f89ed3797adb181332b8a9c80a9311c56184047" },
"vim-altr": { "branch": "master", "commit": "fba055cf3b83a1ada5b05d694fbefd024aa93289" },
diff --git a/.config/nvim/lua/init/05-appearance.lua b/.config/nvim/lua/init/05-appearance.lua
index 0edd3b3..e218252 100644
--- a/.config/nvim/lua/init/05-appearance.lua
+++ b/.config/nvim/lua/init/05-appearance.lua
@@ -90,14 +90,15 @@ function vimrc.statusline.mode()
local vim_mode = vim_mode_and_hl[1]
local hl = vim_mode_and_hl[2]
- -- Calling `eskk#statusline()` makes Vim autoload eskk. If you call it
- -- without checking `g:loaded_autoload_eskk`, eskk is loaded on an early
- -- stage of the initialization (probably the first rendering of status line),
- -- which slows down Vim startup. Loading eskk can be delayed by checking both
- -- of `g:loaded_eskk` and `g:loaded_autoload_eskk`.
local skk_mode
- if G.loaded_eskk and G.loaded_autoload_eskk then
- skk_mode = F['eskk#statusline'](' (%s)', '')
+ if F.exists('*skkeleton#mode') == 1 then
+ skk_mode = ({
+ ['hira'] = ' (あ)',
+ ['kata'] = ' (ア)',
+ ['hankata'] = ' (半ア)',
+ ['zenkaku'] = ' (全角英数)',
+ ['abbrev'] = ' (abbrev)',
+ })[F['skkeleton#mode']()] or ''
else
skk_mode = ''
end
diff --git a/.config/nvim/lua/vimrc/plugins.lua b/.config/nvim/lua/vimrc/plugins.lua
index f6ac202..092cae2 100644
--- a/.config/nvim/lua/vimrc/plugins.lua
+++ b/.config/nvim/lua/vimrc/plugins.lua
@@ -4,92 +4,66 @@ return {
{
'nvim-lua/plenary.nvim',
},
+ -- skkeleton depends on it.
+ {
+ 'vim-denops/denops.vim',
+ },
-- Text editing {{{1
-- IME {{{2
-- SKK (Simple Kana to Kanji conversion program) for Vim.
{
- 'vim-skk/eskk.vim',
+ 'vim-skk/skkeleton',
config = function()
+ local vimrc = require('vimrc')
local my_env = require('vimrc.my_env')
- vim.g['eskk#dictionary'] = {
- path = my_env.skk_dir .. '/jisyo',
- sorted = false,
- encoding = 'utf-8',
- }
-
- vim.g['eskk#large_dictionary'] = {
- path = my_env.skk_dir .. '/jisyo.L',
- sorted = true,
- encoding = 'euc-jp',
- }
-
- vim.g['eskk#backup_dictionary'] = vim.g['eskk#dictionary'].path .. '.bak'
-
- -- NOTE:
- -- Boolean values are not accepted because eskk#utils#set_default() checks types.
- vim.g['eskk#enable_completion'] = 0
- vim.g['eskk#egg_like_newline'] = 1
-
- -- Change default markers because they are EAW (East Asian Width) characters.
- vim.g['eskk#marker_henkan'] = '[!]'
- vim.g['eskk#marker_okuri'] = '-'
- vim.g['eskk#marker_henkan_select'] = '[#]'
- vim.g['eskk#marker_jisyo_touroku'] = '[?]'
-
- vim.cmd([=[
- function! My_eskk_initialize_pre()
- for [orgtable, mode] in [['rom_to_hira', 'hira'], ['rom_to_kata', 'kata']]
- let t = eskk#table#new(orgtable . '*', orgtable)
- call t.add_map('z ', ' ')
- call t.add_map('0.', '0.')
- call t.add_map('1.', '1.')
- call t.add_map('2.', '2.')
- call t.add_map('3.', '3.')
- call t.add_map('4.', '4.')
- call t.add_map('5.', '5.')
- call t.add_map('6.', '6.')
- call t.add_map('7.', '7.')
- call t.add_map('8.', '8.')
- call t.add_map('9.', '9.')
- call t.add_map(':', ':')
- call t.add_map('z:', ':')
- " Workaround: 'zl' does not work as 'l' key leaves from SKK mode.
- call t.add_map('zL', '→')
- call eskk#register_mode_table(mode, t)
- endfor
- endfunction
-
- autocmd Vimrc User eskk-initialize-pre call My_eskk_initialize_pre()
-
- function! My_eskk_initialize_post()
- " I don't use hankata mode for now.
- EskkUnmap -type=mode:hira:toggle-hankata
- EskkUnmap -type=mode:kata:toggle-hankata
-
- " I don't use abbrev mode for now.
- EskkUnmap -type=mode:hira:to-abbrev
- EskkUnmap -type=mode:kata:to-abbrev
-
- " I don't use ascii mode for now.
- EskkUnmap -type=mode:hira:to-ascii
- EskkUnmap -type=mode:kata:to-ascii
-
- " Instead, l key disable SKK input.
- EskkMap -type=disable l
-
- " I type <C-m> for new line.
- EskkMap -type=kakutei <C-m>
-
- map! jk <Plug>(eskk:disable)<ESC>
+ vimrc.autocmd('User', {
+ pattern = 'skkeleton-initialize-pre',
+ callback = function()
+ vim.fn['skkeleton#config']({
+ -- Change default markers because they are EAW (East Asian Width) characters.
+ markerHenkan = '[!]',
+ markerHenkanSelect = '[#]',
+ eggLikeNewline = true,
+ userDictionary = my_env.skk_dir .. '/jisyo',
+ globalDictionaries = {my_env.skk_dir .. '/jisyo.L'},
+ })
+ vim.fn['skkeleton#register_kanatable']('rom', {
+ ['z '] = {' '},
+ ['0.'] = {'0.'},
+ ['1.'] = {'1.'},
+ ['2.'] = {'2.'},
+ ['3.'] = {'3.'},
+ ['4.'] = {'4.'},
+ ['5.'] = {'5.'},
+ ['6.'] = {'6.'},
+ ['7.'] = {'7.'},
+ ['8.'] = {'8.'},
+ ['9.'] = {'9.'},
+ [':'] = {':'},
+ ['z:'] = {':'},
+ ['jk'] = 'escape',
+ })
+ end,
+ })
- " Custom highlight for henkan markers.
- syntax match skkMarker '\[[!#?]\]'
- hi link skkMarker Special
- endfunction
+ vimrc.autocmd('User', {
+ pattern = 'skkeleton-initialize-post',
+ callback = function()
+ vim.fn['skkeleton#register_keymap']('input', '<C-q>', nil)
+ vim.fn['skkeleton#register_keymap']('input', '<C-m>', 'newline')
+ vim.fn['skkeleton#register_keymap']('henkan', '<C-m>', 'newline')
+ -- Custom highlight for henkan markers.
+ vim.cmd([=[syntax match skkMarker '\[[!#]\]']=])
+ vim.cmd([=[hi link skkMarker Special]=])
+ end,
+ })
- autocmd Vimrc User eskk-initialize-post call My_eskk_initialize_post()
- ]=])
+ vim.cmd([[
+ imap <C-j> <Plug>(skkeleton-enable)
+ cmap <C-j> <Plug>(skkeleton-enable)
+ tmap <C-j> <Plug>(skkeleton-enable)
+ ]])
end,
},
-- Operators {{{2