namespaces sequences system ;
IN: editors.10x
-EDITOR: 10x-editor
+SINGLETON: 10x-editor
SYMBOL: 10x-editor-path
kernel make math.parser namespaces sequences ;
IN: editors.acme
-EDITOR: acme
+SINGLETON: acme
: plan9-path ( -- path )
\ plan9-path get [
math.parser namespaces sequences system ;
IN: editors.aquamacs
-EDITOR: aquamacs
+SINGLETON: aquamacs
HOOK: find-aquamacs-path os ( -- path )
math.parser namespaces sequences system ;
IN: editors.atom
-EDITOR: atom
+SINGLETON: atom
SYMBOL: atom-path
USING: editors kernel make namespaces ;
IN: editors.bbedit
-EDITOR: bbedit
+SINGLETON: bbedit
M: bbedit editor-command
drop
USING: editors kernel make namespaces ;
IN: editors.bluefish
-EDITOR: bluefish
+SINGLETON: bluefish
M: bluefish editor-command
drop
namespaces system vocabs ;
IN: editors.brackets
-EDITOR: brackets
+SINGLETON: brackets
HOOK: brackets-path os ( -- path )
math.parser namespaces ;
IN: editors.coteditor
-EDITOR: coteditor
+SINGLETON: coteditor
: find-cot-bundle-path ( -- path/f )
"com.coteditor.CotEditor" find-native-bundle [
IN: editors.cudatext
-EDITOR: cudatext
+SINGLETON: cudatext
HOOK: find-cudatext-path os ( -- path )
SYMBOL: editor-class
-INITIALIZED-SYMBOL: editors [ HS{ } clone ]
-
: available-editors ( -- seq )
"editors" disk-child-vocab-names
{ "editors.ui" "editors.private" } diff ;
available-editors
[ [ "Load " prepend ] keep ] { } map>assoc ;
-: define-editor ( word -- )
- [ define-singleton-class ] [ editors get-global adjoin ] bi ;
-
-SYNTAX: EDITOR: scan-new-class define-editor ;
-
: set-editor ( string -- )
"editors." ?head drop
- [ "editors." prepend t parser-quiet? [ use-vocab ] with-variable ] [ search ] bi
+ [ "editors." prepend t parser-quiet? [ use-vocab ] with-variable ]
+ [ search ] bi
editor-class set-global ;
-SYNTAX: SET-EDITOR: scan-token set-editor ;
+SYNTAX: EDITOR: scan-token set-editor ;
HOOK: editor-command editor-class ( file line -- command )
" or "
".factor-rc" home-path
" add:\n"
- "USE: editors SET-EDITOR: " _ append
+ "USE: editors EDITOR: " _ append
] output>array "Note:" print pprint-line
] bi
editor-command ;
kernel make namespaces ;
IN: editors.editpadlite
-EDITOR: editpadlite
+SINGLETON: editpadlite
: editpadlite-path ( -- path )
\ editpadlite-path get [
kernel make math.parser namespaces sequences ;
IN: editors.editpadpro
-EDITOR: editpadpro
+SINGLETON: editpadpro
: editpadpro-path ( -- path )
\ editpadpro-path get [
namespaces ;
IN: editors.editplus
-EDITOR: editplus
+SINGLETON: editplus
: editplus-path ( -- path )
\ editplus-path get [
kernel make math.parser namespaces sequences system vocabs ;
IN: editors.emacs
-EDITOR: emacs
+SINGLETON: emacs
SYMBOL: emacsclient-path
SYMBOL: emacsclient-args
namespaces ;
IN: editors.emeditor
-EDITOR: emeditor
+SINGLETON: emeditor
: emeditor-path ( -- path )
\ emeditor-path get [
IN: editors.espresso
-EDITOR: espresso
+SINGLETON: espresso
M: espresso editor-command
drop
namespaces ;
IN: editors.etexteditor
-EDITOR: etexteditor
+SINGLETON: etexteditor
: etexteditor-path ( -- str )
\ etexteditor-path get [
kernel make math.parser namespaces system ;
IN: editors.geany
-EDITOR: geany
+SINGLETON: geany
SYMBOL: geany-path
math.parser namespaces sequences ;
IN: editors.gedit
-EDITOR: gedit
+SINGLETON: gedit
: gedit-path ( -- path )
\ gedit-path get [
! This code builds on the code in editors.vim; see there for
! more information.
-EDITOR: gvim
+SINGLETON: gvim
INSTANCE: gvim vim-base
system ;
IN: editors.jedit
-EDITOR: jedit
+SINGLETON: jedit
HOOK: find-jedit-path os ( -- path )
namespaces sequences strings ;
IN: editors.kakoune
-EDITOR: kakoune
+SINGLETON: kakoune
SYMBOL: kak-path
IN: editors.kate
-EDITOR: kate
+SINGLETON: kate
HOOK: find-kate-path os ( -- path )
IN: editors.lapce
-EDITOR: lapce
+SINGLETON: lapce
HOOK: find-lapce-path os ( -- path )
io.standard-paths kernel make namespaces strings system ;
IN: editors.lite-xl
-EDITOR: lite-xl
+SINGLETON: lite-xl
SYMBOL: lite-xl-editor-path
namespaces ;
IN: editors.macvim
-EDITOR: macvim
+SINGLETON: macvim
INSTANCE: macvim vim-base
namespaces sequences ;
IN: editors.notepad++
-EDITOR: notepad++
+SINGLETON: notepad++
: notepad++-path ( -- path )
\ notepad++-path get [
IN: editors.notepad
-EDITOR: notepad
+SINGLETON: notepad
: notepad-path ( -- path )
\ notepad-path get [
namespaces sequences windows.shell32 make io.pathnames ;
IN: editors.notepad2
-EDITOR: notepad2
+SINGLETON: notepad2
: notepad2-path ( -- path )
\ notepad2-path get [
USING: editors kernel make namespaces ;
IN: editors.nova
-EDITOR: nova
+SINGLETON: nova
M: nova editor-command
drop
namespaces sequences system ;
IN: editors.scite
-EDITOR: scite
+SINGLETON: scite
SYMBOL: scite-path
USING: editors kernel make namespaces ;
IN: editors.smultron
-EDITOR: smultron
+SINGLETON: smultron
M: smultron editor-command
drop
system ;
IN: editors.sublime
-EDITOR: sublime
+SINGLETON: sublime
HOOK: find-sublime-path os ( -- path )
math.parser namespaces sequences make ;
IN: editors.ted-notepad
-EDITOR: ted-notepad
+SINGLETON: ted-notepad
: ted-notepad-path ( -- path )
\ ted-notepad-path get [
namespaces sequences system vocabs ;
IN: editors.textadept
-EDITOR: textadept
+SINGLETON: textadept
HOOK: find-textadept-path os ( -- path )
namespaces prettyprint editors make ;
IN: editors.textedit
-EDITOR: textedit
+SINGLETON: textedit
M: textedit editor-command
drop
namespaces prettyprint editors make ;
IN: editors.textmate
-EDITOR: textmate
+SINGLETON: textmate
M: textmate editor-command
[ "mate" , "-a" , "-l" , number>string , , ] { } make ;
namespaces sequences ;
IN: editors.textpad
-EDITOR: textpad
+SINGLETON: textpad
: textpad-path ( -- path )
\ textpad-path get-global [
! Note that launching with ``open -a`` does not support line numbers.
-EDITOR: textwrangler
+SINGLETON: textwrangler
M: textwrangler editor-command
"edit" find-in-path [
math.parser namespaces system ;
IN: editors.ultraedit
-EDITOR: ultraedit
+SINGLETON: ultraedit
HOOK: find-ultraedit os ( -- path )
namespaces sequences strings ;
IN: editors.vim
-EDITOR: vim
+SINGLETON: vim
MIXIN: vim-base
tools.which ;
IN: editors.visual-studio-code-exploration
-EDITOR: visual-studio-code-exploration
+SINGLETON: visual-studio-code-exploration
INSTANCE: visual-studio-code-exploration visual-studio-code-base
tools.which ;
IN: editors.visual-studio-code-insiders
-EDITOR: visual-studio-code-insiders
+SINGLETON: visual-studio-code-insiders
INSTANCE: visual-studio-code-insiders visual-studio-code-base
MIXIN: visual-studio-code-base
-EDITOR: visual-studio-code
+SINGLETON: visual-studio-code
INSTANCE: visual-studio-code visual-studio-code-base
tools.which ;
IN: editors.visual-studio-codium
-EDITOR: visual-studio-codium
+SINGLETON: visual-studio-codium
INSTANCE: visual-studio-codium visual-studio-code-base
USING: arrays editors io.standard-paths kernel namespaces ;
IN: editors.wordpad
-EDITOR: wordpad
+SINGLETON: wordpad
: wordpad-path ( -- path )
\ wordpad-path get [
USING: editors kernel make namespaces ;
IN: editors.xcode
-EDITOR: xcode
+SINGLETON: xcode
M: xcode editor-command
drop