2007-09-20 18:09:08 -04:00
|
|
|
USING: definitions io.launcher kernel parser words sequences math
|
2009-02-20 13:25:55 -05:00
|
|
|
math.parser namespaces editors make system combinators.short-circuit
|
2009-02-23 11:35:42 -05:00
|
|
|
fry threads vocabs.loader ;
|
2007-09-20 18:09:08 -04:00
|
|
|
IN: editors.emacs
|
|
|
|
|
2009-02-20 13:15:26 -05:00
|
|
|
SYMBOL: emacsclient-path
|
|
|
|
|
|
|
|
HOOK: default-emacsclient os ( -- path )
|
|
|
|
|
|
|
|
M: object default-emacsclient ( -- path ) "emacsclient" ;
|
|
|
|
|
2007-09-20 18:09:08 -04:00
|
|
|
: emacsclient ( file line -- )
|
|
|
|
[
|
2009-04-20 20:11:07 -04:00
|
|
|
{
|
|
|
|
[ emacsclient-path get-global ]
|
|
|
|
[ default-emacsclient dup emacsclient-path set-global ]
|
|
|
|
} 0|| ,
|
2009-02-20 13:25:55 -05:00
|
|
|
"--no-wait" ,
|
2009-02-20 13:15:26 -05:00
|
|
|
number>string "+" prepend ,
|
2008-01-24 02:50:40 -05:00
|
|
|
,
|
2009-02-20 13:32:07 -05:00
|
|
|
] { } make
|
|
|
|
os windows? [ run-detached drop ] [ try-process ] if ;
|
2007-09-20 18:09:08 -04:00
|
|
|
|
|
|
|
: emacs ( word -- )
|
|
|
|
where first2 emacsclient ;
|
|
|
|
|
|
|
|
[ emacsclient ] edit-hook set-global
|
2009-02-23 11:35:42 -05:00
|
|
|
|
|
|
|
os windows? [ "editors.emacs.windows" require ] when
|