LINUX.ORG.RU

История изменений

Исправление habamax, (текущая версия) :

Раз уж vim в тэгах…

vim9script

sign define NumberHl numhl=Error

def ToggleSign()
    var places = sign_getplaced(bufnr(), {
        group: 'MySigns',
        lnum: line(".")
    })
    if empty(places[0].signs)
        sign_place(0, 'MySigns', "NumberHl", bufnr(), {lnum: line(".")})
    else
        places[0].signs->foreach((_, v) => {
            sign_unplace('MySigns', {id: v.id})
        })
    endif
enddef


nnoremap <space>mm <scriptcmd>ToggleSign()<cr>
nnoremap <space>mc <scriptcmd>sign_unplace('MySigns')<cr>

https://asciinema.org/a/672896

Исходная версия habamax, :

Раз уж vim в тэгах…

vim9script

sign define NumberHl numhl=Error

def ToggleSign()
    var places = sign_getplaced(bufnr(), {
        group: 'MySigns',
        lnum: line(".")
    })
    if empty(places[0].signs)
        sign_place(0, 'MySigns', "NumberHl", bufnr(), {lnum: line(".")})
    else
        places[0].signs->foreach((_, v) => {
            sign_unplace('MySigns', {id: v.id})
        })
    endif
enddef


nnoremap <space>mm <scriptcmd>ToggleSign()<cr>
nnoremap <space>mc <scriptcmd>sign_unplace('MySigns')<cr>

asciicast