Merge branch 'master' of git://factorcode.org/git/factor

db4
Doug Coleman 2008-12-08 20:49:58 -06:00
commit 88f4d73b18
23 changed files with 108 additions and 71 deletions

View File

@ -0,0 +1,2 @@
Ryan Murphy
Doug Coleman

View File

@ -0,0 +1,7 @@
USING: help.syntax help.markup ;
IN: editors.editpadpro
ARTICLE: "editors.editpadpro" "EditPad Pro support"
"EditPadPro text editor integration on Windows. Be sure to put EditPadPro in your system path so that it will be found. Windows only." ;
ABOUT: "editors.editpadpro"

View File

@ -0,0 +1,16 @@
USING: definitions kernel parser words sequences math.parser
namespaces editors io.launcher windows.shell32 io.files
io.paths.windows strings unicode.case make ;
IN: editors.editpadlite
: editpadlite-path ( -- path )
\ editpadlite-path get-global [
"JGsoft" t [ >lower "editpadlite.exe" tail? ] find-in-program-files
] unless* ;
: editpadlite ( file line -- )
[
editpadlite-path , drop ,
] { } make run-detached drop ;
[ editpadlite ] edit-hook set-global

View File

@ -0,0 +1 @@
EditPadLite editor integration

View File

@ -0,0 +1 @@
unportable

View File

@ -1,6 +1,7 @@
USING: help.syntax help.markup ; USING: help.syntax help.markup ;
IN: editors.editpadpro
ARTICLE: "editpadpro" "EditPad Pro support" ARTICLE: "editors.editpadpro" "EditPad Pro support"
"Just load this module and you will be able to edit documentation with EditPadPro. Be sure to put EditPadPro in your system path so that it will be found. Windows only." ; "EditPadPro text editor integration on Windows. Be sure to put EditPadPro in your system path so that it will be found. Windows only." ;
ABOUT: "editpadpro" ABOUT: "editors.editpadpro"

View File

@ -1,17 +1,16 @@
USING: definitions kernel parser words sequences math.parser USING: definitions kernel parser words sequences math.parser
namespaces editors io.launcher windows.shell32 io.files namespaces editors io.launcher windows.shell32 io.files
io.paths strings unicode.case make ; io.paths.windows strings unicode.case make ;
IN: editors.editpadpro IN: editors.editpadpro
: editpadpro-path : editpadpro-path ( -- path )
\ editpadpro-path get-global [ \ editpadpro-path get-global [
program-files "JGsoft" append-path "JGsoft" t [ >lower "editpadpro.exe" tail? ] find-in-program-files
t [ >lower "editpadpro.exe" tail? ] find-file
] unless* ; ] unless* ;
: editpadpro ( file line -- ) : editpadpro ( file line -- )
[ [
editpadpro-path , "/l" swap number>string append , , editpadpro-path , number>string "/l" prepend , ,
] { } make run-detached drop ; ] { } make run-detached drop ;
[ editpadpro ] edit-hook set-global [ editpadpro ] edit-hook set-global

View File

@ -1,10 +1,10 @@
USING: editors io.files io.launcher kernel math.parser USING: editors io.files io.launcher kernel math.parser
namespaces sequences windows.shell32 make ; namespaces sequences windows.shell32 make io.paths.windows ;
IN: editors.editplus IN: editors.editplus
: editplus-path ( -- path ) : editplus-path ( -- path )
\ editplus-path get-global [ \ editplus-path get-global [
program-files "\\EditPlus 2\\editplus.exe" append-path "EditPlus 2" t [ "editplus.exe" tail? ] find-in-program-files
] unless* ; ] unless* ;
: editplus ( file line -- ) : editplus ( file line -- )

View File

@ -1,11 +1,10 @@
USING: editors hardware-info.windows io.files io.launcher USING: editors io.files io.launcher kernel math.parser
kernel math.parser namespaces sequences windows.shell32 namespaces sequences windows.shell32 make io.paths.windows ;
make ;
IN: editors.emeditor IN: editors.emeditor
: emeditor-path ( -- path ) : emeditor-path ( -- path )
\ emeditor-path get-global [ \ emeditor-path get-global [
program-files "\\EmEditor\\EmEditor.exe" append-path "EmEditor" t [ "EmEditor.exe" tail? ] find-in-program-files
] unless* ; ] unless* ;
: emeditor ( file line -- ) : emeditor ( file line -- )

View File

@ -1,12 +1,12 @@
! Copyright (C) 2008 Kibleur Christophe. ! Copyright (C) 2008 Kibleur Christophe.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: editors io.files io.launcher kernel math.parser USING: editors io.files io.launcher kernel math.parser
namespaces sequences windows.shell32 make ; namespaces sequences windows.shell32 io.paths.windows make ;
IN: editors.etexteditor IN: editors.etexteditor
: etexteditor-path ( -- str ) : etexteditor-path ( -- str )
\ etexteditor-path get-global [ \ etexteditor-path get-global [
program-files "e\\e.exe" append-path "e" t [ "e.exe" tail? ] find-in-program-files
] unless* ; ] unless* ;
: etexteditor ( file line -- ) : etexteditor ( file line -- )

View File

@ -1,9 +1,8 @@
USING: editors.gvim io.files io.windows kernel namespaces USING: editors.gvim io.files io.windows kernel namespaces
sequences windows.shell32 io.paths system ; sequences windows.shell32 io.paths.windows system ;
IN: editors.gvim.windows IN: editors.gvim.windows
M: windows gvim-path M: windows gvim-path
\ gvim-path get-global [ \ gvim-path get-global [
program-files "vim" append-path "vim" t [ "gvim.exe" tail? ] find-in-program-files
t [ "gvim.exe" tail? ] find-file
] unless* ; ] unless* ;

View File

@ -2,10 +2,10 @@ USING: editors io.files io.launcher kernel math.parser
namespaces sequences windows.shell32 make ; namespaces sequences windows.shell32 make ;
IN: editors.notepad2 IN: editors.notepad2
: notepad2-path ( -- str ) : notepad2-path ( -- path )
\ notepad2-path get-global [ \ notepad2-path get-global [
program-files "C:\\Windows\\system32\\notepad.exe" append-path "C:\\Windows\\system32\\notepad.exe"
] unless* ; ] unless* ;
: notepad2 ( file line -- ) : notepad2 ( file line -- )
[ [
@ -13,4 +13,4 @@ IN: editors.notepad2
"/g" , number>string , , "/g" , number>string , ,
] { } make run-detached drop ; ] { } make run-detached drop ;
[ notepad2 ] edit-hook set-global [ notepad2 ] edit-hook set-global

View File

@ -1,10 +1,10 @@
USING: editors io.files io.launcher kernel math.parser USING: editors io.files io.launcher kernel math.parser
namespaces sequences windows.shell32 make ; namespaces sequences io.paths.windows make ;
IN: editors.notepadpp IN: editors.notepadpp
: notepadpp-path : notepadpp-path ( -- path )
\ notepadpp-path get-global [ \ notepadpp-path get-global [
program-files "notepad++\\notepad++.exe" append-path "notepad++" t [ "notepad++.exe" tail? ] find-in-program-files
] unless* ; ] unless* ;
: notepadpp ( file line -- ) : notepadpp ( file line -- )

View File

@ -1,34 +1,25 @@
! Basic SciTE integration for Factor. ! Copyright (C) 2007 Clemens F. Hofreither.
! ! See http://factorcode.org/license.txt for BSD license.
! By Clemens F. Hofreither, 2007.
! clemens.hofreither@gmx.net ! clemens.hofreither@gmx.net
! USING: io.files io.launcher kernel namespaces io.paths.windows
! In your .factor-rc or .factor-boot-rc, math math.parser editors sequences make unicode.case ;
! require this module and set the scite-path
! variable to point to your executable,
! if not on the path.
!
USING: io.files io.launcher kernel namespaces math
math.parser editors sequences windows.shell32 make ;
IN: editors.scite IN: editors.scite
: scite-path ( -- path ) : scite-path ( -- path )
\ scite-path get-global [ \ scite-path get-global [
program-files "ScITE Source Code Editor\\SciTE.exe" append-path "Scintilla Text Editor" t
dup exists? [ [ >lower "scite.exe" tail? ] find-in-program-files
drop program-files "wscite\\SciTE.exe" append-path
] unless
] unless* ; ] unless* ;
: scite-command ( file line -- cmd ) : scite-command ( file line -- cmd )
swap swap
[ [
scite-path , scite-path ,
, ,
"-goto:" swap number>string append , number>string "-goto:" prepend ,
] { } make ; ] { } make ;
: scite-location ( file line -- ) : scite-location ( file line -- )
scite-command run-detached drop ; scite-command run-detached drop ;
[ scite-location ] edit-hook set-global [ scite-location ] edit-hook set-global

View File

@ -1 +1 @@
SciTE editor integration Scintilla text editor (SciTE) integration

View File

@ -1,15 +1,16 @@
USING: editors io.files io.launcher kernel math.parser USING: editors io.files io.launcher kernel math.parser
namespaces sequences windows.shell32 make ; namespaces sequences io.paths.windows make ;
IN: editors.ted-notepad IN: editors.ted-notepad
: ted-notepad-path : ted-notepad-path ( -- path )
\ ted-notepad-path get-global [ \ ted-notepad-path get-global [
program-files "\\TED Notepad\\TedNPad.exe" append-path "TED Notepad" t [ "TedNPad.exe" tail? ] find-in-program-files
] unless* ; ] unless* ;
: ted-notepad ( file line -- ) : ted-notepad ( file line -- )
[ [
ted-notepad-path , "/l" swap number>string append , , ted-notepad-path ,
number>string "/l" prepend , ,
] { } make run-detached drop ; ] { } make run-detached drop ;
[ ted-notepad ] edit-hook set-global [ ted-notepad ] edit-hook set-global

View File

@ -1,6 +1,5 @@
USING: definitions io.launcher kernel math math.parser parser USING: definitions io.launcher kernel math math.parser parser
namespaces prettyprint editors make ; namespaces prettyprint editors make ;
IN: editors.textedit IN: editors.textedit
: textedit-location ( file line -- ) : textedit-location ( file line -- )
@ -9,5 +8,3 @@ IN: editors.textedit
try-process ; try-process ;
[ textedit-location ] edit-hook set-global [ textedit-location ] edit-hook set-global

View File

@ -1,11 +1,10 @@
USING: editors io.files io.launcher kernel math.parser USING: editors io.files io.launcher kernel math.parser
namespaces sequences windows.shell32 wne ; namespaces sequences io.paths.windows make ;
IN: editors.ultraedit IN: editors.ultraedit
: ultraedit-path ( -- path ) : ultraedit-path ( -- path )
\ ultraedit-path get-global [ \ ultraedit-path get-global [
program-files "IDM Computer Solutions" t [ "uedit32.exe" tail? ] find-in-program-files
"IDM Computer Solutions\\UltraEdit-32\\uedit32.exe" append-path
] unless* ; ] unless* ;
: ultraedit ( file line -- ) : ultraedit ( file line -- )

View File

@ -1,14 +1,14 @@
USING: editors hardware-info.windows io.launcher kernel USING: editors io.launcher kernel io.paths.windows
math.parser namespaces sequences windows.shell32 io.files math.parser namespaces sequences io.files arrays ;
arrays ;
IN: editors.wordpad IN: editors.wordpad
: wordpad-path ( -- path ) : wordpad-path ( -- path )
\ wordpad-path get [ \ wordpad-path get [
program-files "Windows NT\\Accessories\\wordpad.exe" append-path "Windows NT\\Accessories" t
[ "wordpad.exe" tail? ] find-in-program-files
] unless* ; ] unless* ;
: wordpad ( file line -- ) : wordpad ( file line -- )
drop wordpad-path swap 2array dup . run-detached drop ; drop wordpad-path swap 2array run-detached drop ;
[ wordpad ] edit-hook set-global [ wordpad ] edit-hook set-global

View File

@ -1,11 +1,13 @@
! Copyright (C) 2008 Doug Coleman. ! Copyright (C) 2008 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: io.files kernel sequences accessors USING: accessors arrays deques dlists io.files io.paths.private
dlists deques arrays ; kernel sequences system vocabs.loader fry continuations ;
IN: io.paths IN: io.paths
TUPLE: directory-iterator path bfs queue ; TUPLE: directory-iterator path bfs queue ;
<PRIVATE
: qualified-directory ( path -- seq ) : qualified-directory ( path -- seq )
dup directory-files [ append-path ] with map ; dup directory-files [ append-path ] with map ;
@ -25,25 +27,32 @@ TUPLE: directory-iterator path bfs queue ;
[ over push-directory next-file ] [ nip ] if [ over push-directory next-file ] [ nip ] if
] if ; ] if ;
: iterate-directory ( iter quot -- obj ) : iterate-directory ( iter quot: ( obj -- ? ) -- obj )
over next-file [ over next-file [
over call over call
[ 2drop ] [ iterate-directory ] if [ 2nip ] [ iterate-directory ] if*
] [ ] [
2drop f 2drop f
] if* ; inline recursive ] if* ; inline recursive
: find-file ( path bfs? quot -- path/f ) PRIVATE>
: find-file ( path bfs? quot: ( obj -- ? ) -- path/f )
[ <directory-iterator> ] dip [ <directory-iterator> ] dip
[ keep and ] curry iterate-directory ; inline [ keep and ] curry iterate-directory ; inline
: each-file ( path bfs? quot -- ) : each-file ( path bfs? quot: ( obj -- ? ) -- )
[ <directory-iterator> ] dip [ <directory-iterator> ] dip
[ f ] compose iterate-directory drop ; inline [ f ] compose iterate-directory drop ; inline
: find-all-files ( path bfs? quot -- paths ) : find-all-files ( path bfs? quot: ( obj -- ? ) -- paths )
[ <directory-iterator> ] dip [ <directory-iterator> ] dip
pusher [ [ f ] compose iterate-directory drop ] dip ; inline pusher [ [ f ] compose iterate-directory drop ] dip ; inline
: recursive-directory ( path bfs? -- paths ) : recursive-directory ( path bfs? -- paths )
[ ] accumulator [ each-file ] dip ; [ ] accumulator [ each-file ] dip ;
: find-in-directories ( directories bfs? quot -- path' )
'[ _ _ find-file ] attempt-all ; inline
os windows? [ "io.paths.windows" require ] when

View File

@ -0,0 +1 @@
Doug Coleman

View File

@ -0,0 +1 @@
unportable

View File

@ -0,0 +1,13 @@
! Copyright (C) 2008 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: arrays continuations fry io.files io.paths
kernel windows.shell32 sequences ;
IN: io.paths.windows
: program-files-directories ( -- array )
program-files program-files-x86 2array ; inline
: find-in-program-files ( base-directory bfs? quot -- path )
[
[ program-files-directories ] dip '[ _ append-path ] map
] 2dip find-in-directories ; inline