Excellent suggestion, Rich.

I'm playing around with various of our mutual robot friend's proposals.

One of them looks promising:

<key>Function Pattern</key>
<string>\b(?:void|[\w<>\[\]]+)\s+(\w+)\s*\([^)]*\)\s*(?=\{|\=>)</string>

But the syntax checker complains about the "<" in

[\w<>\[\]]

Unencoded entity found; “<” needs to be encoded as “&lt;”

Fair enough. If I change the pattern to this:

<key>Function Pattern</key>
<string>\b(?:void|[\w&lt;>\[\]]+)\s+(\w+)\s*\([^)]*\)\s*(?=\{|\=>)</string>

the syntax checker doesn't complain but BBEdit's Function Navigator doesn't 
navigate functions (after a BBEdit restart, of course).

Patience, patience, . . . 

Any brave soul interested in sculpting the expression that Rich shared?

Thanks.

Alfredo
On Tuesday, June 18, 2024 at 11:44:31 AM UTC-6 Rich Siegel wrote:

> On 18 Jun 2024, at 13:37, Alfredo wrote:
>
> > That's the idea, Darren.
> >
> > Unfortunately, given my (very) limited regex knowledge and (lack of) 
> regex
> > skills, coming up with the appropriate magic incantations for this is not
> > quite within my horizon:
>
> Have you considered asking ChatGPT? :-)
>
> It says:
>
>
> (?<leading_whitespace>^\s*)(?<function_signature>(?:\w+\s+)?\w+\s+(?<function_name>\w+)\s*\([^)]*\)\s*{(?:(?!{).)*})(?<function_body>[\s\S]*?)
>
> (NB: you will need to change the names of the capture groups to correspond 
> to the requirements stated in the CLM documentation; and caveat lector: I 
> have not tried this to see if it even works.)
>
> R.
>
> > `<key>Function Pattern</key>`
> >
> > I'll appreciate any guidance in this regard.
> >
> > I have a pretty good set of Dart keywords for this:
> >
> > `<key>BBLMKeywordList</key>`
> >
> > And I stole the comments section from the C# that BBEdit provides:
> >
> > ```
> > <key>Comment Pattern</key>
> > <string><![CDATA[
> > (?x:
> > (?> // .* $ ) |
> > (?> /\* (?s:.*?) (?: \*/ | \z ) )
> > )
> > ]]></string>
> > ```
> >
> > A Dart source file looks reasonably acceptable, but still no BBEdit
> > Function Navigator yet (as expected).
> >
> > Poquito a poquito . . .
> >
> > Alfredo
> >
> > On Tuesday, June 18, 2024 at 7:22:58 AM UTC-6 Darren Duncan wrote:
> >
> > For my part, I've already similarly created a few very simple BBEdit
> > codeless
> > language modules for some documentation formats that didn't already have
> > them,
> > namely Wikitext and Perl POD. Simply being able to quickly navigate to
> > section
> > headings is extremely helpful for moving around files. -- Darren Duncan
> >
> > On 2024-06-17 2:29 p.m., Alfredo wrote:
> >> My motivation is to be able to use BBEdit's Function Navigator on Dart
> > files.
> >>
> >> On Monday, June 17, 2024 at 3:22:43 PM UTC-6 Alfredo wrote:
> >>
> >> This is a good starting point but it would be even better if it provided
> >> some examples for C or Java or JavaScript:
> >>
> >> https://www.barebones.com/support/bbedit/plugin_library.html
> >>
> >> I immediately admit my total ignorance of the majority of languages
> >> mentioned in this list.
> >>
> >> Any clues regarding some (any) examples for the function pattern along
> > the
> >> lines of C or Java or JavaScript?
> >>
> >> <key>Function Pattern</key>
> >>
> >>
> >> Thanks,
> >>
> >> Alfredo
> >>
> >>
> >> On Friday, June 14, 2024 at 1:23:47 PM UTC-6 Alfredo wrote:
> >>
> >> Hartelijk dank, Maarten.
> >>
> >> Sono contento di vedere un altro utente Flutter, Fabio.
> >>
> >> The international friendly race is on, with at least two teams: Italy
> >> and Guatemala!
> >>
> >> I'll research the route that Maarten suggested.
> >>
> >> A challenge, as Rich observed in another thread, is Micro$oft, which
> >> controls VS Code.
> >>
> >> We'll see . . .
> >>
> >> Thanks to everyone.
> >>
> >> Alfredo
> >>
> >> On Friday, June 14, 2024 at 6:37:50 AM UTC-6 Fabio Ferrero wrote:
> >>
> >> I use Flutter too, happy to help to make BBEdit even better with
> >> this language!
> >>
> >> Il giorno giovedì 13 giugno 2024 alle 21:41:55 UTC+2 Alfredo ha scritto:
> >>
> >> I do about 50% of my work under the Flutter umbrella. There are
> >> two "official" IDEs for Flutter: VS Code and Android Studio. I
> >> prefer Android Studio for compiling/linking/installing on all
> >> platforms (Android, iOS, macOS, Windows, Linux, Web/PWA).
> >>
> >> However (and this is a big "however") I use BBEdit for all of my
> >> editing and I have configured both Android Studio and BBEdit to
> >> refresh file contents upon detecting any change. Perfect world
> >> (for me).
> >>
> >> Flutter supports hot reload and hot restart, so it's really
> >> impressive to see that when I save a changed source file with
> >> BBEdit, I can immediately do a hot reload or hot restart with
> >> Android Studio and I can immediately see the results of my
> >> changes on whatever platform I happen to be debugging.
> >>
> >> Magic.
> >>
> >> I wish there were a language module for Dart (the language that
> >> Flutter uses) that I could use with BBEdit.
> >>
> >> For now, I switch the language mapping for a given source file
> >> between Java and JavaScript, to highlight different structural
> >> aspects in the source file and to navigate to different things
> >> using the Function Navigator. This is reasonably ok but not ideal.
> >>
> >> Has anyone found a way to use a Dart Language module with BBEdit?
> >>
> >> Thanks.
> >>
> >> Alfredo
> >
> > -- 
> > This is the BBEdit Talk public discussion group. If you have a feature 
> request or believe that the application isn't working correctly, please 
> email "[email protected]" rather than posting here. Follow @bbedit on 
> Mastodon: <https://mastodon.social/@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/15799913-ab7b-4cc8-8539-376d45524523n%40googlegroups.com
> .
>
>
> -- 
> Rich Siegel Bare Bones Software, Inc.
> <[email protected]> <https://www.barebones.com/>
>
> Someday I'll look back on all this and laugh... until they sedate me.
>

-- 
This is the BBEdit Talk public discussion group. If you have a feature request 
or believe that the application isn't working correctly, please email 
"[email protected]" rather than posting here. Follow @bbedit on Mastodon: 
<https://mastodon.social/@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/ba8434e9-b8d4-4655-a11d-85f268ca3be6n%40googlegroups.com.

Reply via email to