Skip to content

Commit

Permalink
feat: add s:hira_to_dakuten
Browse files Browse the repository at this point in the history
  • Loading branch information
kawarimidoll committed Nov 23, 2023
1 parent 0b82820 commit 82a1280
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions k.vim
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ function! k#dakuten(...) abort

let preceding_str = s:get_preceding_str('henkan')
call s:clear_henkan_start_pos()
return repeat("\<bs>", strcharlen(preceding_str)) .. substitute(preceding_str, '.\ze', {m -> m[0] .. ''}, 'g')
return repeat("\<bs>", strcharlen(preceding_str)) .. s:hira_to_dakuten(preceding_str)
endfunction

function! k#ins(key, henkan = v:false) abort
Expand All @@ -184,7 +184,7 @@ function! k#ins(key, henkan = v:false) abort
return s:zen_kata_to_han_kata(s:hira_to_kata(char))
endif
if s:inner_mode == 'dakuten'
return char2nr(char, v:true) < 128 ? char : char .. ''
return s:hira_to_dakuten(char)
endif

" TODO: implement other modes
Expand Down Expand Up @@ -288,6 +288,10 @@ function! s:hira_to_kata(str) abort
return a:str->substitute('[ぁ-ゖ]', {m->nr2char(char2nr(m[0], v:true) + 96, v:true)}, 'g')
endfunction

function! s:hira_to_dakuten(str) abort
return a:str->substitute('[^[:alnum:][:graph:][:space:]]', {m->m[0] .. ''}, 'g')
endfunction

" たまにsplit文字列の描画がおかしくなるので注意
let s:hankana_list = ('ァアィイゥウェエォオカガキギクグケゲコゴ'
\ .. 'サザシジスズセゼソゾタダチヂッツヅテデトド'
Expand Down

0 comments on commit 82a1280

Please sign in to comment.