Loading...
Searching...
No Matches
Nhi1Tags

A tool to generate the .tags file to navigaet in source-code and documentation

‍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:

  1. Nhi1Tags, A tool to generate the .tags file to navigaet in source-code and documentation
  2. Nhi1Shortcut, A tool to access a file in the vim editor by creating a shortcut from file-name and directory-name

using: Nhi1Tags

.tags is by far the most important tool for me because navigation within the software has a huge impact on productivity.

  • The ctags tool already has a variety of plugins built in, but - and this is important - these can be expanded using --regex-???.

Parts of the Programming-Language-Micro-Kernel (PLMK) standard were then implemented there so that you can search not only in the source-coder but also in the documentation.

  • This is important because I have expanded the doxygen tool to the point where hundreds of macros (called alias) are used so that the documentation template can be specifically adapted to the respective programming language.
MOT extension for scripting language
defaultSApi() {
myctags -a $ADD \
'--regex-c=/OT_CLASS_NAME[ \t]+"([^"]+)"/\1/c/e' \
'--regex-c=/OT_ProcRet[ \t]+NS\‍([^_]+_([^)]+)\‍)/\1/m/e' \
'--regex-c=/OT_ProcRet[ \t]+NS\‍(([^_]+)C_([^)]+)\‍)/\1\2/m/e' \
'--regex-c=/regTclObj\‍(([A-Za-z0-9_]+)\‍)/\1/v/e' \
-- $SPWD/*.{c,h}
}
MOT extension for parser
defaultParser() {
ctags -a \
'--regex-c++=/__parser__define__([^[:space:]]+)/__parser__define__\1/d/e' \
'--regex-c++=/__parser__global__define__([^[:space:]]+)/__parser__global__define__\1/d/e' \
"$@"
}
MOT extension for JAVA
if [[ "$PWD" == "$NHI1_abs_top_srcdir/theKernel/c" ]] ; then