/usr/share/vim/addons/plugin/gramadoir.vim is in gramadoir 0.7-3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Name: gramadoir.vim
" Description: Vim interface to An Gramadóir Irish grammar checker
" Author: Kevin Patrick Scannell <kscanne@gmail.com>
" Url: http://borel.slu.edu/gramadoir/
"
" Licence: This program is free software; you can redistribute it
" and/or modify it under the terms of the GNU General Public
" License. See http://www.gnu.org/copyleft/gpl.txt
" Version: 0.5, 2004-07-28
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
if exists("loaded_gramadoir") || &compatible
finish
endif
let loaded_gramadoir = 1
let s:active_file = 0
let s:cpo_save = &cpo
let s:ignore="${HOME}/.neamhshuim"
let s:errorwords = ""
set cpo&vim
function s:Check()
echo "An Gramadóir: fan go fóill..."
let l:filename=expand("%")
if !strlen(l:filename)
let l:filename=tempname()
silent execute "w!".l:filename
endif
let errorfile = tempname()
let l:dummy=system('cat '. escape(l:filename,' \')." | gram-ga.pl --html --ionchod=utf-8 | sed 's/<br>//g; s/ class=gramadoir//g' > ".escape(errorfile,' \'))
silent exe 'split ' . errorfile
execute "normal \<C-W>b"
execute "normal \<C-W>K"
execute "normal \<C-W>b"
execute "normal 7\<C-W>_"
execute "normal 1G"
execute "normal \<C-W>t"
execute "normal 1G"
let s:active_file = 1
endfunction
function s:NextError()
if s:active_file == 0
call s:Check()
endif
syntax clear
execute "normal \<C-W>b"
syntax clear
call search("<b>[^<]*<.b>")
let l:currline=getline(".")
let l:position=col(".")
let l:linenumber=matchstr(l:currline, "^[1-9][0-9]*")
let l:boldplustail=strpart(l:currline, l:position-1, strlen(l:currline)-l:position)
let l:bolderror=matchstr(l:boldplustail, "<b>[^<]*<.b>")
let s:errorwords=strpart(l:bolderror, 3, strlen(l:bolderror)-7)
let s:errorpattern=substitute(s:errorwords," ",'[ \\t\\n]\\+',"g")
execute "normal jk0".l:position."l"
execute "normal ll"
execute "syntax match grError /".s:errorwords."/"
execute "normal \<C-W>t"
execute "normal ".l:linenumber."G"
if l:linenumber == "1"
execute "normal G$"
else
execute "normal jkk$"
endif
call search(s:errorpattern)
execute "syntax match grError /".s:errorpattern."/"
highlight grError cterm=bold ctermfg=Red guifg=Red
endfunction
function s:QuitGr()
let s:active_file = 0
execute "normal \<C-W>b"
q!
execute "syntax enable"
endfunction
function s:Neamhshuim()
if s:errorwords !~ ".* .*"
let l:dummy2=system("touch ". s:ignore)
let l:dummy3=system("(cat ". s:ignore . "; echo \"". s:errorwords ."\") | LC_COLLATE=C sort -u -o ". s:ignore)
execute "normal \<C-W>b"
execute "normal ma"
silent execute "%s/<b>".s:errorwords."<.b>/".s:errorwords."/g"
execute "normal `a"
execute "normal \<C-W>t"
echo "Cuireadh \"". s:errorwords ."\" isteach i ~/.neamhshuim."
endif
call s:NextError()
endfunction
if !hasmapto('<Plug>Gr')
map <unique> <Leader>g <Plug>Gr
endif
if !hasmapto('<Plug>Amach')
map <unique> <Leader>a <Plug>Amach
endif
if !hasmapto('<Plug>Neamh')
map <unique> <Leader>n <Plug>Neamh
endif
noremap <unique> <script> <Plug>Gr <SID>NextError
noremap <silent> <SID>NextError :call <SID>NextError()<CR>
noremap <unique> <script> <Plug>Amach <SID>QuitGr
noremap <silent> <SID>QuitGr :call <SID>QuitGr()<CR>
noremap <unique> <script> <Plug>Neamh <SID>Neamhshuim
noremap <silent> <SID>Neamhshuim :call <SID>Neamhshuim()<CR>
let &cpo = s:cpo_save
finish
|