Description

A set of alias, bash functions / files to make programming Quake C and quake engines easier --- see 'rm -f' WARNING in qsetup

Preview
(Linux) quake command line dev. tools
Comments
numbersix Author
numbersix

Refer to tools.txt for install instructions.

What can I do with this...

Do you write code?

These tools are focused on quake c and C centric in general. However, they can be used with and tailored to most languages.

Search source for:
(Again, this is built for qc)

entity field variables: .entity, .float, .string, . vector, .void, .vsfe
define vars: vdef
globals: gvar
frame sets: frames
functions: lsfn
functions, no frame macros: lsnf
function parms: lsfpar
builtins: lsbuilt
quaked statements: quaked
variables by file usage: lsevar, lsgvar, lslvar, lsdef # (entity, global, local, functions)

search for a grouping by contents:

{ braces }: deb
( parens ): dep
function name: defn
#ifdef set: difd
/* comments */: decom
/* QUAKED */: deqed # use this with entities.def too

custom grep commands

qr "searchspec"
qrc "searchspec_no_comments" # copies dir contents to /tmp !
qrfiles "only list file names"
ls /usr/local/bin/qr* # for the entire set

sa uake # for all aliases
qv # entire qvar search list

other goodies:

qfc # list a file with no comments
qrnum # list all valid numbers used
sounds, models # list all sounds & models referenced
countcode # count lines of code - in theory
codeh - highlight less of code - Needs: lessh = 'LESSOPEN="| src-hilite-lesspipe.sh %s" less -r '

qctac # run fteqcc and search for "assignment in coditional" warnings
- "assignment in coditional" is FAIL, it means a logic check is WRONG!

-
I find many of these indispensible. I use qr the most.
Variables by file, not as much - but when I'm adding mods or merging code
they are great to track usage of vars and functions.

I hope you find these tools useful.
I made the install to set a basic file structure in $HOME with qsetup.
You will have to setup source, and dev. items of course.

* it is possible some tools might not work because I missed a local dev. setting

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.