NHI1 10.0
NHI1 -
theKernel -
theLink -
theConfig -
theSq3Lite -
theCompiler -
theBrain -
theGuard
Nhi1Label - Nhi1BuildExtension - Nhi1Config - Nhi1Exec - Nhi1Switch - Nhi1Tags - Nhi1Docs |
A tool to access a file in the vim
editor by creating a shortcut from file-name and directory-name …
The basic problem in a project with a lot of files and a lot of directories is to find a way to navigate quickly and easily.
Two tools are used for this:
.tags
file to navigaet in source-code and documentation … vim
editor by creating a shortcut from file-name and directory-name … .../.shortcut local shortcut database for directory "..." .../.shortcutignore ignore file/pattern for directory "..." etc/shortcut.local shortcut extension (example: test "db" lookup) sbin/vim-shortcut.tcl shortcut integration into "vim" theCompiler/src/lng_Shortcut.tcl frontend of the shortcut tool theCompiler/src/lib_Shortcut.tcl backend of the shortcut tool
.shortcut
with a simple TCL
array using array set dirA { shortcut → filename ... }
vim
extension vim-shortcut.tcl
::E ...
or <CTRL-E>...
T
""
, C
, U
or lngA
follewd by file-shortcut .shortcut
in the directory :docs/main/.shortcut
: dirA
is written be the user dirA
is written be the Nhi1Shortcut tool␛[1;36mpInit -> PINIT[#0] -> +++ use : lang<lng> : api<Shortcut> : top<lng_Shortcut.tcl>␛[0;m ␛[1;36m -> PINIT[#0] -> argv<-h>␛[0;m usage: Nhi1Shortcut ?options...? options: ^-(?:i|meta)(?:=(.*))?$ | set META file for inpout : default: value from -|mk|mq|lc|sq3|... ^-(mk|mq|lc|sq3)$ | set LIBRARY : filter options ^-(?:f|func)(?:=(.*))?$ | filter FUNCEXPR : all kind of objects (-ff/-ffunc = stonger) ^-(?:c|class)(?:=(.*))?$ | filter CLASSEXPR : filter by class name ^-show-filter$ | show filter data : API_IGNORE_* and API_ALLOW_* profiling options ^-profile$ | use prfiling : ^-profile-key$ | set profile key : default: exclusiveRuntime compileTime, nonCompileTime, avgExclusiveTime, calls totalRuntime, exclusiveRuntime, avgRuntime ^-profile-pat$ | filter result : default: * TASK options ^-ignore(?:=(.*))?$ | ignore=TASK,TASK,... : use -h to get list ^-only(?:=(.*))?$ | only=TASK,TASK,... : use -h to get list debug options ^-trace(?:=(.*))?$ | trace VARIABLE on WRITE : discover modification ^-force$ | use META code : disable the cache ^-erase-all$ | erase generated code : apply to target file(s) ^-warning-as-error$ | raise an ERROR on WARNING : ^-(d+)$ | incr DEBUG level : -d -dd -ddd ... ^-(v+)$ | incr VERBOSE level : -v -vv -vvv ... ^-(s+)$ | always print to STDOUT : BOOLEAN ^-(?:w|write)$ | always write : BOOLEAN ^-tcl-trace$ | enable TCL trace : misc options ^-(h|help)$ | get this help : ^-dependency$ | write dependency tree : used for MAKE ^-attribute(?:=(.*))?$$ | attribute KEY=VAL : modify the attributeDEF database lng_Shortcut options: -do-lib ...... LIB ....... DO the 'project' directory (default: no) -do-example .. EXAMPLE ... DO the 'example' directory (default: no) -do-docs ..... DOCS ...... DO the 'docs' directory (default: no) -do-the ...... THE ....... DO the 'theX' directory (default: no) -all ..................... DO all above -sc-write ................ DO write file '.shortcutignore' -sc-no-deep .............. DON'T use parallel directories also -diff .................... DO the 'diff' at the end (default: no) -(tcl|py|pl|rb|php|c|cc|cs|jv|go|vb) ... chose language -(mk|mq|lc|sq3) ........................ chose namespace supported '-ignore' args: IGNORE(#usage)<list> , IGNORE(#only)<EMPTY> , IGNORE<array|P|#group,*> IGNORE(#usage) = <list> | DOCS | EXAMPLE | LIB IGNORE = <array|P|#group,*> | #group,all-lng | tcl cc cs vb jv rb php pl c go py | #group,all-ns | mk mq lc sq3 | #group,all-tsk | LIB EXAMPLE DOCS TESTS THE
LIB
(library) using package mk
(theKernel) target language py
(python)> Nhi1Shortcut -only=LIB,mk,py pInit -> PINIT[#0] -> +++ use : lang<lng> : api<Shortcut> : top<lng_Shortcut.tcl> -> PINIT[#0] -> : argv<-only=LIB,mk,py> Do -> LIB start GLOBAL -> LIB project: mk cache_close -> write file -> fn<.../NHI1/theKernel/py/.shortcut> Do -> LIB end