]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/xmode/utilities/utilities.factor
xmode: update for recent jEdit mode changes
[factor.git] / basis / xmode / utilities / utilities.factor
index 1b2b4a352ffede5c44296ae15e3f370b1f3bd4c7..2d5e3c7f4041f632231082cd8765fe6ac1d7a2b4 100644 (file)
@@ -1,15 +1,9 @@
-USING: accessors sequences assocs kernel quotations namespaces
-xml.data xml.traversal combinators macros parser lexer words fry
-regexp ;
+USING: combinators kernel namespaces quotations regexp sequences
+splitting xml.data xml.traversal ;
 IN: xmode.utilities
 
 : implies ( x y -- z ) [ not ] dip or ; inline
 
-: map-find ( seq quot -- result elt )
-    [ f ] 2dip
-    '[ nip @ dup ] find
-    [ [ drop f ] unless ] dip ; inline
-
 : tag-init-form ( spec -- quot )
     {
         { [ dup quotation? ] [ [ object get tag get ] prepose ] }
@@ -30,7 +24,7 @@ IN: xmode.utilities
 : with-tag-initializer ( tag obj quot -- )
     [ object set tag set ] prepose with-scope ; inline
 
-MACRO: (init-from-tag) ( specs -- )
+MACRO: (init-from-tag) ( specs -- quot )
     [ tag-init-form ] map concat [ ] like
     [ with-tag-initializer ] curry ;
 
@@ -38,4 +32,6 @@ MACRO: (init-from-tag) ( specs -- )
     over [ (init-from-tag) ] dip ; inline
 
 : <?insensitive-regexp> ( string ? -- regexp )
+    ! handle Java style case-insensitive flags
+    "(?i)" pick subseq-start [ drop "(?i)" "" replace t ] when
     "i" "" ? <optioned-regexp> ;