Look for mvim on mac and use 'open -a MacVim' if it's not in the path. Since 'open -a macvim' doesn't support command line options, add a generic for opening to a line or not.
parent
99b4752c57
commit
a1878ea818
|
@ -1,8 +1,13 @@
|
||||||
USING: editors.vim kernel namespaces ;
|
USING: editors.vim environment fry io.files io.pathnames kernel
|
||||||
|
namespaces sequences splitting ;
|
||||||
IN: editors.macvim
|
IN: editors.macvim
|
||||||
|
|
||||||
SINGLETON: macvim
|
SINGLETON: macvim
|
||||||
macvim \ vim-editor set-global
|
macvim \ vim-editor set-global
|
||||||
|
|
||||||
M: macvim vim-path \ vim-path get-global "mvim" or ;
|
: find-binary-path ( string -- path/f )
|
||||||
|
[ "PATH" os-env ":" split ] dip '[ _ append-path exists? ] find nip ;
|
||||||
|
|
||||||
|
M: macvim find-vim-path "mvim" find-binary-path { "open" "-a" "MacVim" } or ;
|
||||||
M: macvim vim-detached? t ;
|
M: macvim vim-detached? t ;
|
||||||
|
M: macvim vim-open-line? f ;
|
||||||
|
|
|
@ -11,7 +11,9 @@ SYMBOL: vim-path
|
||||||
|
|
||||||
HOOK: find-vim-path vim-editor ( -- path )
|
HOOK: find-vim-path vim-editor ( -- path )
|
||||||
HOOK: vim-detached? vim-editor ( -- detached? )
|
HOOK: vim-detached? vim-editor ( -- detached? )
|
||||||
|
HOOK: vim-open-line? vim-editor ( -- ? )
|
||||||
|
|
||||||
|
M: object vim-open-line? t ;
|
||||||
|
|
||||||
M: vim find-vim-path "vim" ;
|
M: vim find-vim-path "vim" ;
|
||||||
M: vim vim-detached? f ;
|
M: vim vim-detached? f ;
|
||||||
|
@ -22,7 +24,7 @@ M: vim vim-detached? f ;
|
||||||
: vim-command ( file line -- command )
|
: vim-command ( file line -- command )
|
||||||
[
|
[
|
||||||
actual-vim-path dup string? [ , ] [ % ] if
|
actual-vim-path dup string? [ , ] [ % ] if
|
||||||
[ , ] [ number>string "+" prepend , ] bi*
|
[ , ] [ vim-open-line? [ number>string "+" prepend , ] [ drop ] if ] bi*
|
||||||
] { } make ;
|
] { } make ;
|
||||||
|
|
||||||
: vim ( file line -- )
|
: vim ( file line -- )
|
||||||
|
|
Loading…
Reference in New Issue