Chris,

I've also made my own CLM for Fish. Instead of using BBLMPredefinedNameList for as additional commands, I'm using it for "special" variables: PATH, fish_greeting, fish_color_*, etc. Basically everything listed here: https://fishshell.com/docs/current/language.html#special-variables

(Fish is a little slippery about the concept of special variables. Some variables listed there are used by the shell itself, while others are only used by scripts bundled with the shell. I'm not sure the distinction is terribly important.)

Hope this helps.
-sam

*From: *Christopher Waterman <ch...@rustydogink.com>
*To: *bbedit@googlegroups.com
*Date: *Aug 14, 2021 10:56:59 PM
*Subject: *Codeless Language Module design question.

I couldn’t find a Language Module for Fish Shell so a put one together last night.
It works, but I have a design question.

In order to make the BBLMKeywordList & BBLMPredefinedNameList

I made a list of the built-in commands from here: https://fishshell.com/docs/current/commands.html

Then pulled out the ones I think belong in the BBLMKeywordList.

<key>BBLMKeywordList</key>
<array>
<string>function</string>
<string>end</string>
<string>if</string>
<string>else</string>
<string>for</string>
<string>while</string>
<string>switch</string>
<string>case</string>
<string>begin</string>
<string>command</string>
<string>continue</string>
<string>return</string>
<string>break</string>
<string>exit</string>
<string>true</string>
<string>false</string>
<string>and</string>
<string>or</string>
<string>not</string>
<string>in</string>
<string>|</string>
<string>&amp;</string>
</array>
Then I printed “ls /bin” to BBEdit to make a third list.
I removed duplicates and felt like I ended up with a pretty good list of the most general unix commands.

Something like this but longer:

<key>BBLMPredefinedNameList</key>
<array>
<!-- Built-in Fish commands minus /bin and those used in BBLKeywordList -->

<string>_</string>
<string>abbr</string>
<string>alias</string>
<string>argparse</string>
<string>bg</string>
<string>bind</string>
<string>block</string>
<string>breakpoint</string>
<string>builtin</string>
<string>cd</string>
… 
…the list continues

<!-- List from /bin -->

<string>bash</string>
<string>cat</string>
<string>chmod</string>
<string>cp</string>
<string>csh</string>
<string>dash</string>
<string>date</string>
… 
…the list continues
<array>
Should I have left out the commands from /bin? Is there more utility in highlighting only the built-in commands? I know this isn’t a very technical question, nor particularly important, but I’m curious what this crowd might think.

Thanks
—Chris








--
This is the BBEdit Talk public discussion group. If you have a feature request or need 
technical support, please email "supp...@barebones.com" rather than posting here. 
Follow @bbedit on Twitter: <https://twitter.com/bbedit>
--- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to bbedit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/bbedit/a5881ade-376c-4531-96b8-c8d48f909fca%40munkynet.org.

Reply via email to