I explained exactly what I mean in the original post.

Yes, of course I'm talking about a specific file type, but the specific 
type is unimportant since it's something I'm creating and not something in 
the vim syntax files.

What I intend is simply that if the user types in (the file being created) 
something like:

*    : foo bar ;*

Then "*foo*" becomes a syntax keyword. The criteria for becoming a keyword 
in this context is that it is preceded by a colon, and delimited by 
white-space. Thus 'bar' is not a keyword, nor is ": foo".  Think of the 
leading colon-space as a function declarator.

What I can't figure out is how to trap "foo" without trapping the leading 
colon-space.

On Sunday, December 13, 2020 at 5:28:28 PM UTC+2 Charles Campbell wrote:

> Ron Aaron wrote:
> > Is this possible w/ vim's syntax highlighting?
> >
> > On Wednesday, December 9, 2020 at 10:56:35 AM UTC+2 Ron Aaron wrote:
> >
> > Hi all -
> >
> > I want to have a keyword (user-defined function) highlighted by my
> > syntax file.
> >
> > The code looks like this:
> >
> >     :  foo  blah blah ;
> >
> > In this case I want "foo" to be scooped up. What I'm doing now is
> > this:
> >
> >      syn match colonDef "^\s*:\s\+\zs\S\+"
> >
> > That highlights the correct thing (e.g. 'foo') where it's defined,
> > but I can't figure out how to get it to be highlighted elsewhere
> > in the code (e.g. when simply 'foo' appears without a leading colon).
> >
> > How can I accomplish this?
> >
> >
> What do you mean by "vim's syntax highlighting"? Assuming no filetype, 
> say in a file called "joe.coffee", you could type
>
> syn keyword colonDef foo
> hi link colonDef Statement
>
> and foo would be highlighted as Statement in your file.
>
> Somehow I don't think you're really meaning "vim's syntax highlighting", 
> but rather "vim's syntax highlighting for the XYZ filetype". Naturally, 
> that missing information greatly affects things.  Syntax highlighting 
> involves groups, containment, matches, regions, etc. My guess is that 
> you want your modified "colonDef" highlighting to occur in some region 
> defined by the filetype's syntax highlighting, but you've defined a 
> match that is not contained in that region. To find out what that region 
> is named, you could try my plugin: 
> http://www.drchip.org/astronaut/vim/index.html#HILINKS and use :HLT!, 
> move the cursor about, and you'll see a trace explaining what syntax and 
> highlighting regions/etc are involved. Additionally, there's issues of 
> priority involved, but often you can use "containedin=..." to get what 
> you want.
>
> Once you've done that, you could place a file in your 
> .vim/after/syntax/XYZ.vim file the extra directions giving the 
> additional highlighting you want.
>
> Regards,
> Chip Campbell
>

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" 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/vim_dev/0a92248e-e2b8-48a5-8ed0-423fcdc2ee8en%40googlegroups.com.

Raspunde prin e-mail lui