1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-04 10:40:03 +08:00
SpaceVim/autoload/SpaceVim/api/messletters.vim
2017-06-01 00:18:32 +08:00

122 lines
3.0 KiB
VimL

scriptencoding utf-8
let s:chars = {}
" type :
" 0: 1 ➛ ➊
" 1: 1 ➛ ➀
" 2: 1 ➛ ⓵
function! s:bubble_num(num, type) abort
let list = []
call add(list,['➊', '➋', '➌', '➍', '➎', '➏', '➐', '➑', '➒', '➓'])
call add(list,['➀', '➁', '➂', '➃', '➄', '➅', '➆', '➇', '➈', '➉'])
call add(list,['⓵', '⓶', '⓷', '⓸', '⓹', '⓺', '⓻', '⓼', '⓽', '⓾'])
let n = ''
try
let n = list[a:type][a:num-1]
catch
endtry
return n
endfunction
let s:chars['bubble_num'] = function('s:bubble_num')
" type :
" 0: 1 ➛ ➊
" 1: 1 ➛ ➀
" 2: 1 ➛ ⓵
function! s:circled_num(num, type) abort
" http://www.unicode.org/charts/beta/nameslist/n_2460.html
if a:type == 0
if a:num == 0
return nr2char(9471)
elseif index(range(1,10), a:num) != -1
return nr2char(10102 + a:num - 1)
elseif index(range(11, 20), a:num)
return nr2char(9451 + a:num - 11)
else
return ''
endif
elseif a:type == 1
if index(range(20), a:num) != -1
if a:num == 0
return nr2char(9450)
else
return nr2char(9311 + a:num)
endif
else
return ''
endif
elseif a:type == 2
if index(range(1, 10), a:num) != -1
return nr2char(9461 + a:num - 1)
else
return ''
endif
endif
endfunction
let s:chars['circled_num'] = function('s:circled_num')
function! s:index_num(num) abort
let nums = [8304, 185, 178, 179, 8308, 8309, 8310, 8311, 8312, 8313]
if index(range(10) , a:num) != -1
return nr2char(nums[a:num])
endif
return ''
endfunction
let s:chars['index_num'] = function('s:index_num')
function! s:parenthesized_num(num) abort
" http://www.unicode.org/charts/beta/nameslist/n_2460.html
if index(range(1, 20), a:num) != -1
return nr2char(9331 + a:num)
else
return ''
endif
endfunction
let s:chars['parenthesized_num'] = function('s:parenthesized_num')
function! s:num_period(num) abort
" http://www.unicode.org/charts/beta/nameslist/n_2460.html
if index(range(1, 20), a:num) != -1
return nr2char(9351 + a:num)
else
return ''
endif
endfunction
let s:chars['num_period'] = function('s:num_period')
function! s:parenthesized_letter(letter) abort
" http://www.unicode.org/charts/beta/nameslist/n_2460.html
if index(range(1, 26), char2nr(a:letter) - 96) != -1
return nr2char(9371 + char2nr(a:letter) - 96)
else
return ''
endif
endfunction
let s:chars['parenthesized_letter'] = function('s:parenthesized_letter')
function! s:circled_letter(letter) abort
" http://www.unicode.org/charts/beta/nameslist/n_2460.html
if index(range(1, 26), char2nr(a:letter) - 64) != -1
return nr2char(9397 + char2nr(a:letter) - 64)
elseif index(range(1, 26), char2nr(a:letter) - 96) != -1
return nr2char(9423 + char2nr(a:letter) - 96)
else
return ''
endif
endfunction
let s:chars['circled_letter'] = function('s:circled_letter')
function! SpaceVim#api#messletters#get() abort
return deepcopy(s:chars)
endfunction
" vim:set et sw=2: