24 lines
549 B
Factor
24 lines
549 B
Factor
|
USING: definitions io io.launcher kernel math math.parser
|
||
|
namespaces parser prettyprint sequences editors ;
|
||
|
IN: editors.vim
|
||
|
|
||
|
SYMBOL: vim-path
|
||
|
SYMBOL: vim-detach
|
||
|
|
||
|
SYMBOL: vim-editor
|
||
|
HOOK: vim-command vim-editor
|
||
|
|
||
|
TUPLE: vim ;
|
||
|
|
||
|
M: vim vim-command ( file line -- string )
|
||
|
[ "\"" % vim-path get % "\" \"" % swap % "\" +" % # ] "" make ;
|
||
|
|
||
|
: vim-location ( file line -- )
|
||
|
vim-command
|
||
|
vim-detach get-global
|
||
|
[ run-detached ] [ run-process ] if ;
|
||
|
|
||
|
"vim" vim-path set-global
|
||
|
[ vim-location ] edit-hook set-global
|
||
|
T{ vim } vim-editor set-global
|