Case insensitive globs for jEdit compatibility

release
Slava Pestov 2007-12-02 05:18:53 -05:00
parent 31102fc37c
commit ca0df2cb46
1 changed files with 6 additions and 10 deletions

16
extra/globs/globs.factor Normal file → Executable file
View File

@ -1,22 +1,18 @@
! Copyright (C) 2007 Slava Pestov. ! Copyright (C) 2007 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: parser-combinators regexp lazy-lists sequences kernel USING: parser-combinators regexp lazy-lists sequences kernel
promises ; promises strings ;
IN: globs IN: globs
<PRIVATE <PRIVATE
: 'char' : 'char' [ ",*?" member? not ] satisfy ;
[ ",*?" member? not ] satisfy ;
: 'string' : 'string' 'char' <+> [ >lower token ] <@ ;
'char' <+> [ token ] <@ ;
: 'escaped-char' : 'escaped-char' "\\" token any-char-parser &> [ 1token ] <@ ;
"\\" token any-char-parser &> [ 1token ] <@ ;
: 'escaped-string' : 'escaped-string' 'string' 'escaped-char' <|> ;
'string' 'escaped-char' <|> ;
DEFER: 'term' DEFER: 'term'
@ -39,4 +35,4 @@ PRIVATE>
: <glob> 'glob' just parse-1 just ; : <glob> 'glob' just parse-1 just ;
: glob-matches? ( input glob -- ? ) : glob-matches? ( input glob -- ? )
<glob> parse nil? not ; >r >lower r> <glob> parse nil? not ;