factor/basis/editors/emacs/emacs.factor

30 lines
770 B
Factor
Raw Normal View History

2007-09-20 18:09:08 -04:00
USING: definitions io.launcher kernel parser words sequences math
math.parser namespaces editors make system combinators.short-circuit
fry threads vocabs.loader ;
2007-09-20 18:09:08 -04:00
IN: editors.emacs
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 -- )
[
{
[ emacsclient-path get-global ]
[ default-emacsclient dup emacsclient-path set-global ]
} 0|| ,
"--no-wait" ,
number>string "+" prepend ,
2008-01-24 02:50:40 -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
os windows? [ "editors.emacs.windows" require ] when