]> gitweb.factorcode.org Git - factor.git/commitdiff
editors: unify "edit" across vocabs and words, add edit words for docs, tests, platfo...
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 18 Oct 2011 23:11:24 +0000 (16:11 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 18 Oct 2011 23:11:24 +0000 (16:11 -0700)
basis/editors/editors.factor

index 8c97cddfb057fa8037f8dcaecb586b3eed9bd8ab..a99849aa20014a2b6cce9bfd406c16a3eb2deb57 100644 (file)
@@ -1,10 +1,11 @@
 ! Copyright (C) 2005, 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: parser lexer kernel namespaces sequences definitions
-io.files io.backend io.pathnames io summary continuations
-tools.crossref vocabs.hierarchy prettyprint source-files
-source-files.errors assocs vocabs.loader splitting
-accessors debugger help.topics ;
+USING: accessors assocs continuations debugger definitions
+help.topics io io.backend io.files io.pathnames kernel lexer
+namespaces parser prettyprint sequences source-files
+source-files.errors splitting strings summary tools.crossref
+vocabs vocabs.files vocabs.hierarchy vocabs.loader
+vocabs.metadata ;
 FROM: vocabs => vocab-name >vocab-link ;
 IN: editors
 
@@ -38,14 +39,15 @@ M: cannot-find-source error.
     definition>> pprint-short
     "''" print ;
 
-: edit ( defspec -- )
-    dup where
-    [ first2 edit-location ]
-    [ dup word-link? [ name>> edit ] [ cannot-find-source ] if ]
-    ?if ;
+GENERIC: edit ( object -- )
 
-: edit-vocab ( name -- )
-    >vocab-link edit ;
+M: object edit
+    dup where [ first2 edit-location ] [ cannot-find-source ] ?if ;
+
+M: link edit name>> edit ;
+
+M: string edit
+    dup vocab [ edit ] [ cannot-find-source ] ?if ;
 
 : edit-error ( error -- )
     [ error-file ] [ error-line ] bi
@@ -69,3 +71,22 @@ M: cannot-find-source error.
     [ "Fixing " write pprint " and all usages..." print nl ]
     [ [ smart-usage ] keep prefix ] bi
     edit-each ;
+
+: edit-docs ( vocab -- )
+    vocab-docs-path 1 edit-location ;
+
+: edit-tests ( vocab -- )
+    vocab-tests-file 1 edit-location ;
+
+: edit-platforms ( vocab -- )
+    dup vocab-platforms-path vocab-append-path 1 edit-location ;
+
+: edit-authors ( vocab -- )
+    dup vocab-authors-path vocab-append-path 1 edit-location ;
+
+: edit-tags ( vocab -- )
+    dup vocab-tags-path vocab-append-path 1 edit-location ;
+
+: edit-summary ( vocab -- )
+    dup vocab-summary-path vocab-append-path 1 edit-location ;
+