From 016c225a182e2b912f180d15c2c00cf0d094a091 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 15:43:01 -0600 Subject: [PATCH 1/7] Checkin experimental 'easy-help' into extra --- extra/easy-help/easy-help.factor | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 extra/easy-help/easy-help.factor diff --git a/extra/easy-help/easy-help.factor b/extra/easy-help/easy-help.factor new file mode 100644 index 0000000000..692a029b97 --- /dev/null +++ b/extra/easy-help/easy-help.factor @@ -0,0 +1,48 @@ + +USING: kernel multiline parser sequences splitting help.markup ; + +IN: easy-help + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: Description: + + ".." parse-multiline-string + string-lines + 1 tail + [ dup " " head? [ 4 tail ] [ ] if ] map + [ dup "" = [ drop { $nl } ] [ ] if ] map + \ $description prefix + parsed + + ; parsing + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: Example: + + { $heading "Example" } parsed + + ".." parse-multiline-string + string-lines + [ dup " " head? [ 4 tail ] [ ] if ] map + [ "" = not ] filter + ! \ $example prefix + \ $code prefix + parsed + + ; parsing + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: Summary: + + ".." parse-multiline-string + string-lines + 1 tail + [ dup " " head? [ 4 tail ] [ ] if ] map + [ dup "" = [ drop { $nl } ] [ ] if ] map + { $heading "Summary" } prefix + parsed + + ; parsing From d193aad524d74c7a1019fa07a8b21c64db4c9a87 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 15:43:24 -0600 Subject: [PATCH 2/7] Demo easy-help in the 'ui.gadgets.slate' vocabulary --- extra/ui/gadgets/slate/slate.factor | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/extra/ui/gadgets/slate/slate.factor b/extra/ui/gadgets/slate/slate.factor index 0505586b53..af2dfcccc2 100644 --- a/extra/ui/gadgets/slate/slate.factor +++ b/extra/ui/gadgets/slate/slate.factor @@ -1,8 +1,35 @@ -USING: kernel namespaces opengl ui.render ui.gadgets accessors ; +USING: kernel namespaces opengl ui.render ui.gadgets accessors + help.syntax + easy-help ; IN: ui.gadgets.slate +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +ARTICLE: "slate" "Slate Gadget" + +Summary: + + A gadget with an 'action' slot which should be set to a callable. .. + +Example: + + ! Load the right vocabs for the examples + + USING: processing.shapes ui.gadgets.slate ; .. + +Example: + + [ { { 10 10 } { 50 30 } { 10 50 } } polygon fill-mode ] + gadget. .. + +; + +ABOUT: "slate" + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + TUPLE: slate < gadget action pdim graft ungraft ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! From beff592f764fd8c5e20ff8835d9733aba7d1f469 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 15:50:14 -0600 Subject: [PATCH 3/7] Use easy-help in 'size-of' --- extra/size-of/size-of.factor | 42 ++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/extra/size-of/size-of.factor b/extra/size-of/size-of.factor index d40ea6f8ba..06a7067636 100644 --- a/extra/size-of/size-of.factor +++ b/extra/size-of/size-of.factor @@ -1,19 +1,39 @@ USING: io io.encodings.ascii io.files io.files.temp io.launcher - locals math.parser sequences sequences.deep ; + locals math.parser sequences sequences.deep + help.syntax + easy-help ; IN: size-of -! Use 'size-of' to find out the size in bytes of a C type. -! -! The 'headers' argument is a list of header files to use. You may -! pass 'f' to only use 'stdio.h'. -! -! Examples: -! -! f "int" size-of . -! -! { "X11/Xlib.h" } "XAnyEvent" size-of . +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +DEFER: size-of + +HELP: size-of + +Description: + + Use 'size-of' to find out the size in bytes of a C type. + + The 'headers' argument is a list of header files to use. You may + pass 'f' to only use 'stdio.h'. .. + +Example: + + ! Find the size of 'int' + + f "int" size-of . .. + +Example: + + ! Find the size of the 'XAnyEvent' struct from Xlib.h + + { "X11/Xlib.h" } "XAnyEvent" size-of . .. + +; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :: size-of ( HEADERS TYPE -- n ) From c181056ed26f6f9e1e1bbed746fd0093393f0362 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 15:57:12 -0600 Subject: [PATCH 4/7] ui.gadgets.plot: use easy-help --- extra/ui/gadgets/plot/plot.factor | 41 ++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/extra/ui/gadgets/plot/plot.factor b/extra/ui/gadgets/plot/plot.factor index 6fee7dc454..f502b7eb38 100644 --- a/extra/ui/gadgets/plot/plot.factor +++ b/extra/ui/gadgets/plot/plot.factor @@ -1,25 +1,38 @@ USING: kernel quotations arrays sequences math math.ranges fry opengl opengl.gl ui.render ui.gadgets.cartesian processing.shapes - accessors ; + accessors + help.syntax + easy-help ; IN: ui.gadgets.plot ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -! Examples: -! -! [ sin ] add-function gadget. -! -! -! [ sin ] red function boa add-function -! [ cos ] blue function boa add-function -! gadget. -! -! -! Use the arrow keys to move around. -! -! Use 'a' and 'z' keys to zoom in and out. +ARTICLE: "ui.gadgets.plot" "Plot Gadget" + +Summary: + + A simple gadget for ploting two dimentional functions. + + Use the arrow keys to move around. + + Use 'a' and 'z' keys to zoom in and out. .. + +Example: + + [ sin ] add-function gadget. .. + +Example: + + + [ sin ] red function boa add-function + [ cos ] blue function boa add-function + gadget. .. + +; + +ABOUT: "ui.gadgets.plot" ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! From 81e69a1664bb7d6f3daf743ce50032c57cc7705b Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 17:20:04 -0600 Subject: [PATCH 5/7] Update 'ui.gadgets.tiling'. Add some help. --- extra/ui/gadgets/tiling/tiling.factor | 185 ++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 extra/ui/gadgets/tiling/tiling.factor diff --git a/extra/ui/gadgets/tiling/tiling.factor b/extra/ui/gadgets/tiling/tiling.factor new file mode 100644 index 0000000000..8a3c878161 --- /dev/null +++ b/extra/ui/gadgets/tiling/tiling.factor @@ -0,0 +1,185 @@ + +USING: kernel sequences math math.order + ui.gadgets ui.gadgets.tracks ui.gestures accessors fry + help.syntax + easy-help ; + +IN: ui.gadgets.tiling + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +ARTICLE: "ui.gadgets.tiling" "Tiling Layout Gadgets" + +Summary: + + A gadget which tiles it's children. + + A tiling gadget may contain any number of children, but only a + fixed number is displayed at one time. How many are displayed can + be controlled via Control-[ and Control-]. + + The focus may be switched with Alt-Left and Alt-Right. + + The focused child may be moved via Shift-Alt-Left and + Shift-Alt-Right. .. + +Example: + + + "resource:" directory-files + [ [ drop ] tiling-add ] + each + "Files" open-window .. + +; + +ABOUT: "ui.gadgets.tiling" + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +TUPLE: tiling < track gadgets tiles first focused ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: init-tiling ( tiling -- tiling ) + init-track + { 1 0 } >>orientation + V{ } clone >>gadgets + 2 >>tiles + 0 >>first + 0 >>focused ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: ( -- gadget ) tiling new init-tiling ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: bounded-subseq ( seq a b -- seq ) + [ 0 max ] dip + pick length [ min ] curry bi@ + rot + subseq ; + +: tiling-gadgets-to-map ( tiling -- gadgets ) + [ gadgets>> ] + [ first>> ] + [ [ first>> ] [ tiles>> ] bi + ] + tri + bounded-subseq ; + +: tiling-map-gadgets ( tiling -- tiling ) + dup clear-track + dup tiling-gadgets-to-map [ 1 track-add ] each ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: tiling-add ( tiling gadget -- tiling ) + over gadgets>> push + tiling-map-gadgets ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: first-gadget ( tiling -- index ) drop 0 ; + +: last-gadget ( tiling -- index ) gadgets>> length 1 - ; + +: first-viewable ( tiling -- index ) first>> ; + +: last-viewable ( tiling -- index ) [ first>> ] [ tiles>> ] bi + 1 - ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: make-focused-mapped ( tiling -- tiling ) + + dup [ focused>> ] [ first>> ] bi < + [ dup first>> 1 - >>first ] + [ ] + if + + dup [ last-viewable ] [ focused>> ] bi < + [ dup first>> 1 + >>first ] + [ ] + if ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: check-focused-bounds ( tiling -- tiling ) + dup focused>> 0 max over gadgets>> length 1 - min >>focused ; + +: focus-prev ( tiling -- tiling ) + dup focused>> 1 - >>focused + check-focused-bounds + make-focused-mapped + tiling-map-gadgets + dup request-focus ; + +: focus-next ( tiling -- tiling ) + dup focused>> 1 + >>focused + check-focused-bounds + make-focused-mapped + tiling-map-gadgets + dup request-focus ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: exchanged! ( seq a b -- ) + [ 0 max ] bi@ + pick length 1 - '[ _ min ] bi@ + rot exchange ; + +: move-prev ( tiling -- tiling ) + dup [ gadgets>> ] [ focused>> 1 - ] [ focused>> ] tri exchanged! + focus-prev ; + +: move-next ( tiling -- tiling ) + dup [ gadgets>> ] [ focused>> ] [ focused>> 1 + ] tri exchanged! + focus-next ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +: add-tile ( tiling -- tiling ) + dup tiles>> 1 + >>tiles + tiling-map-gadgets ; + +: del-tile ( tiling -- tiling ) + dup tiles>> 1 - 1 max >>tiles + tiling-map-gadgets ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +M: tiling focusable-child* ( tiling -- child/t ) + [ focused>> ] [ gadgets>> ] bi nth ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +TUPLE: tiling-shelf < tiling ; +TUPLE: tiling-pile < tiling ; + +: ( -- gadget ) + tiling-shelf new init-tiling { 1 0 } >>orientation ; + +: ( -- gadget ) + tiling-pile new init-tiling { 0 1 } >>orientation ; + +tiling-shelf + H{ + { T{ key-down f { A+ } "LEFT" } [ focus-prev drop ] } + { T{ key-down f { A+ } "RIGHT" } [ focus-next drop ] } + { T{ key-down f { S+ A+ } "LEFT" } [ move-prev drop ] } + { T{ key-down f { S+ A+ } "RIGHT" } [ move-next drop ] } + { T{ key-down f { C+ } "[" } [ del-tile drop ] } + { T{ key-down f { C+ } "]" } [ add-tile drop ] } + } +set-gestures + +tiling-pile + H{ + { T{ key-down f { A+ } "UP" } [ focus-prev drop ] } + { T{ key-down f { A+ } "DOWN" } [ focus-next drop ] } + { T{ key-down f { S+ A+ } "UP" } [ move-prev drop ] } + { T{ key-down f { S+ A+ } "DOWN" } [ move-next drop ] } + { T{ key-down f { C+ } "[" } [ del-tile drop ] } + { T{ key-down f { C+ } "]" } [ add-tile drop ] } + } +set-gestures From 62e1accad5bc84264d22425567503c04a40ea465 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 17:20:35 -0600 Subject: [PATCH 6/7] Remove unmaintained/tiling --- unmaintained/tiling/tiling.factor | 153 ------------------------------ 1 file changed, 153 deletions(-) delete mode 100644 unmaintained/tiling/tiling.factor diff --git a/unmaintained/tiling/tiling.factor b/unmaintained/tiling/tiling.factor deleted file mode 100644 index cf6ea7f48e..0000000000 --- a/unmaintained/tiling/tiling.factor +++ /dev/null @@ -1,153 +0,0 @@ - -USING: kernel sequences math math.order - ui.gadgets ui.gadgets.tracks ui.gestures - bake.fry accessors ; - -IN: ui.gadgets.tiling - -TUPLE: tiling < track gadgets tiles first focused ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: init-tiling ( tiling -- tiling ) - init-track - { 1 0 } >>orientation - V{ } clone >>gadgets - 2 >>tiles - 0 >>first - 0 >>focused ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: ( -- gadget ) tiling new init-tiling ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: bounded-subseq ( seq a b -- seq ) - [ 0 max ] dip - pick length [ min ] curry bi@ - rot - subseq ; - -: tiling-gadgets-to-map ( tiling -- gadgets ) - [ gadgets>> ] - [ first>> ] - [ [ first>> ] [ tiles>> ] bi + ] - tri - bounded-subseq ; - -: tiling-map-gadgets ( tiling -- tiling ) - dup clear-track - dup tiling-gadgets-to-map [ 1 track-add ] each ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: tiling-add ( tiling gadget -- tiling ) - over gadgets>> push - tiling-map-gadgets ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: first-gadget ( tiling -- index ) drop 0 ; - -: last-gadget ( tiling -- index ) gadgets>> length 1 - ; - -: first-viewable ( tiling -- index ) first>> ; - -: last-viewable ( tiling -- index ) [ first>> ] [ tiles>> ] bi + 1 - ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: make-focused-mapped ( tiling -- tiling ) - - dup [ focused>> ] [ first>> ] bi < - [ dup first>> 1 - >>first ] - [ ] - if - - dup [ last-viewable ] [ focused>> ] bi < - [ dup first>> 1 + >>first ] - [ ] - if ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: check-focused-bounds ( tiling -- tiling ) - dup focused>> 0 max over gadgets>> length 1 - min >>focused ; - -: focus-prev ( tiling -- tiling ) - dup focused>> 1 - >>focused - check-focused-bounds - make-focused-mapped - tiling-map-gadgets - dup request-focus ; - -: focus-next ( tiling -- tiling ) - dup focused>> 1 + >>focused - check-focused-bounds - make-focused-mapped - tiling-map-gadgets - dup request-focus ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: exchanged! ( seq a b -- ) - [ 0 max ] bi@ - pick length 1 - '[ _ min ] bi@ - rot exchange ; - -: move-prev ( tiling -- tiling ) - dup [ gadgets>> ] [ focused>> 1 - ] [ focused>> ] tri exchanged! - focus-prev ; - -: move-next ( tiling -- tiling ) - dup [ gadgets>> ] [ focused>> ] [ focused>> 1 + ] tri exchanged! - focus-next ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -: add-tile ( tiling -- tiling ) - dup tiles>> 1 + >>tiles - tiling-map-gadgets ; - -: del-tile ( tiling -- tiling ) - dup tiles>> 1 - 1 max >>tiles - tiling-map-gadgets ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -M: tiling focusable-child* ( tiling -- child/t ) - [ focused>> ] [ gadgets>> ] bi nth ; - -! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -TUPLE: tiling-shelf < tiling ; -TUPLE: tiling-pile < tiling ; - -: ( -- gadget ) - tiling-shelf new init-tiling { 1 0 } >>orientation ; - -: ( -- gadget ) - tiling-pile new init-tiling { 0 1 } >>orientation ; - -tiling-shelf - H{ - { T{ key-down f { A+ } "LEFT" } [ focus-prev drop ] } - { T{ key-down f { A+ } "RIGHT" } [ focus-next drop ] } - { T{ key-down f { S+ A+ } "LEFT" } [ move-prev drop ] } - { T{ key-down f { S+ A+ } "RIGHT" } [ move-next drop ] } - { T{ key-down f { C+ } "[" } [ del-tile drop ] } - { T{ key-down f { C+ } "]" } [ add-tile drop ] } - } -set-gestures - -tiling-pile - H{ - { T{ key-down f { A+ } "UP" } [ focus-prev drop ] } - { T{ key-down f { A+ } "DOWN" } [ focus-next drop ] } - { T{ key-down f { S+ A+ } "UP" } [ move-prev drop ] } - { T{ key-down f { S+ A+ } "DOWN" } [ move-next drop ] } - { T{ key-down f { C+ } "[" } [ del-tile drop ] } - { T{ key-down f { C+ } "]" } [ add-tile drop ] } - } -set-gestures From 5f1084f5c4e2d0dee1e1cba300c565ccb0a06647 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 22 Dec 2008 18:15:21 -0600 Subject: [PATCH 7/7] nehe looks good to go back in extra --- {unmaintained => extra}/nehe/2/2.factor | 0 {unmaintained => extra}/nehe/2/authors.txt | 0 {unmaintained => extra}/nehe/3/3.factor | 0 {unmaintained => extra}/nehe/3/authors.txt | 0 {unmaintained => extra}/nehe/4/4.factor | 0 {unmaintained => extra}/nehe/4/authors.txt | 0 {unmaintained => extra}/nehe/5/5.factor | 0 {unmaintained => extra}/nehe/5/authors.txt | 0 {unmaintained => extra}/nehe/authors.txt | 0 {unmaintained => extra}/nehe/deploy.factor | 0 {unmaintained => extra}/nehe/nehe.factor | 0 {unmaintained => extra}/nehe/summary.txt | 0 {unmaintained => extra}/nehe/tags.txt | 0 13 files changed, 0 insertions(+), 0 deletions(-) rename {unmaintained => extra}/nehe/2/2.factor (100%) rename {unmaintained => extra}/nehe/2/authors.txt (100%) rename {unmaintained => extra}/nehe/3/3.factor (100%) rename {unmaintained => extra}/nehe/3/authors.txt (100%) rename {unmaintained => extra}/nehe/4/4.factor (100%) rename {unmaintained => extra}/nehe/4/authors.txt (100%) rename {unmaintained => extra}/nehe/5/5.factor (100%) rename {unmaintained => extra}/nehe/5/authors.txt (100%) rename {unmaintained => extra}/nehe/authors.txt (100%) rename {unmaintained => extra}/nehe/deploy.factor (100%) rename {unmaintained => extra}/nehe/nehe.factor (100%) rename {unmaintained => extra}/nehe/summary.txt (100%) rename {unmaintained => extra}/nehe/tags.txt (100%) diff --git a/unmaintained/nehe/2/2.factor b/extra/nehe/2/2.factor similarity index 100% rename from unmaintained/nehe/2/2.factor rename to extra/nehe/2/2.factor diff --git a/unmaintained/nehe/2/authors.txt b/extra/nehe/2/authors.txt similarity index 100% rename from unmaintained/nehe/2/authors.txt rename to extra/nehe/2/authors.txt diff --git a/unmaintained/nehe/3/3.factor b/extra/nehe/3/3.factor similarity index 100% rename from unmaintained/nehe/3/3.factor rename to extra/nehe/3/3.factor diff --git a/unmaintained/nehe/3/authors.txt b/extra/nehe/3/authors.txt similarity index 100% rename from unmaintained/nehe/3/authors.txt rename to extra/nehe/3/authors.txt diff --git a/unmaintained/nehe/4/4.factor b/extra/nehe/4/4.factor similarity index 100% rename from unmaintained/nehe/4/4.factor rename to extra/nehe/4/4.factor diff --git a/unmaintained/nehe/4/authors.txt b/extra/nehe/4/authors.txt similarity index 100% rename from unmaintained/nehe/4/authors.txt rename to extra/nehe/4/authors.txt diff --git a/unmaintained/nehe/5/5.factor b/extra/nehe/5/5.factor similarity index 100% rename from unmaintained/nehe/5/5.factor rename to extra/nehe/5/5.factor diff --git a/unmaintained/nehe/5/authors.txt b/extra/nehe/5/authors.txt similarity index 100% rename from unmaintained/nehe/5/authors.txt rename to extra/nehe/5/authors.txt diff --git a/unmaintained/nehe/authors.txt b/extra/nehe/authors.txt similarity index 100% rename from unmaintained/nehe/authors.txt rename to extra/nehe/authors.txt diff --git a/unmaintained/nehe/deploy.factor b/extra/nehe/deploy.factor similarity index 100% rename from unmaintained/nehe/deploy.factor rename to extra/nehe/deploy.factor diff --git a/unmaintained/nehe/nehe.factor b/extra/nehe/nehe.factor similarity index 100% rename from unmaintained/nehe/nehe.factor rename to extra/nehe/nehe.factor diff --git a/unmaintained/nehe/summary.txt b/extra/nehe/summary.txt similarity index 100% rename from unmaintained/nehe/summary.txt rename to extra/nehe/summary.txt diff --git a/unmaintained/nehe/tags.txt b/extra/nehe/tags.txt similarity index 100% rename from unmaintained/nehe/tags.txt rename to extra/nehe/tags.txt