My initial inclination was to use a Makefile because it would mean typing less and is itself portable elsewhere.
Thinking about this a bit more, it occurs to me that it may be easier to use the Scripts menu to access these items. Without modification, I presume any results would go to STDOUT - perhaps it could instead go to bbresults? (and a results browser) Ignore the fact that the example <https://gist.github.com/jlieske/3113810> uses Python, I was merely thinking about what the steps involved might look like. On Wednesday, December 20, 2023 at 4:42:29 AM UTC-5 jj wrote: Hi Christopher, You could aggregate your patterns into a single regular expression and use it directly from BBEdit with the benefit of result sets, multi-file searches, matches highlighting, etc. Here is an unrolled example pattern: (?xx) (?i) (?# Case insensitive.) (?n) (?# No auto capture.) \b ( ( (?#: Weasel words.) zzz |very |vast |various |tiny |surprisingly |substantially |significantly |several |remarkably |relatively |quite |mostly |many |largely |interestingly |huge |few |fairly |extremely |excellent |exceedingly |completely |clearly |((are|is) a number) ) | ( (?#: Passive voices.) zzz |wrung |written |woven |wound |worn |won |woken |withstood |withheld |wept |wed |upset |upheld |understood |trodden |torn |told |thrust |thrown |thrived |thought |taught |taken |swung |swum |sworn |swollen |swept |sunk |sung |stunk |stung |stuck |strung |struck |striven |stridden |stood |stolen |spun |sprung |spread |spoken |split |spit |spilt |spent |sped |sown |sought |sold |smitten |slung |slit |slid |slept |slain |shut |shrunk |shown |shot |shorn |shone |shod |shed |shaven |shaken |sewn |set |sent |seen |sawn |sat |said |rung |run |risen |ridden |rid |read |quit |put |proven |pled |paid |overthrown |overtaken |overdone |overcome |mown |mistaken |misspelt |met |meant |made |lost |lighted |let |lent |left |led |learnt |leapt |lain |laid |known |knit |knelt |kept |hurt |hung |hit |hidden |held |heard |grown |ground |gotten |gone |given |frozen |found |fought |forsaken |forgotten |forgiven |foregone |forbidden |flung |flown |fled |fit |felt |fed |fallen |eaten |dug |drunk |driven |dreamt |drawn |done |dived |dealt |cut |crept |cost |come |clung |chosen |caught |cast |burst |burnt |built |brought |broken |broadcast |bred |bound |bought |born |blown |bled |bitten |bidden |bid |bet |beset |bent |begun |been |become |beat |awoken ) | (?P<DUPLICATE>\p{L}{2,})\s+(?P=DUPLICATE) (?#: Duplicate words.) ) \b HTH Jean Jourdain On Tuesday, December 19, 2023 at 10:40:42 PM UTC+1 Christopher Finazzo wrote: I am consolidating a set of proofreading scripts <https://matt.might.net/articles/shell-scripts-for-passive-voice-weasel-words-duplicates/> into a Makefile that includes a "proof" rule. This rule calls each of the underlying scripts - and Aspell <http://aspell.net> - in sequence. At the moment, running these will print output to the screen, but I would like to go one step further. As these are "interactive" scripts, which return a text UI when run, is it possible to pass the results to bbresults and present matching items in a differences window? The end result would look similar to the following: proof: duplicates.sh passive-voice.sh weasel-words.sh aspell check $document I have done something similar with a function bbshellcheck, which has the following form: bbshellcheck { shellcheck -f gcc "$@" | bbresults } On paper, this makes sense. However, it isn't working exactly as I expect -- Is this the wrong approach, or am I missing something obvious? -- This is the BBEdit Talk public discussion group. If you have a feature request or need technical support, please email "[email protected]" 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/bbedit/f007df53-67bd-4a5a-820e-18be2fb09addn%40googlegroups.com.
