Tuesday, September 24, 2013

Re: someone is messing with iskeyword...

On 24/09/13 13:00, Matteo Cavalleri wrote:
> i've noticed that the underscore is no longer part of the "iskeyword" variable, both in php and ruby/rails files. this obviously messes up the * operator and in some cases even the syntax highlighting (e.g. when in a rails project a method starts with 'flash_')
>
> if i run vim and give the command "verbose set iskeyword?" the culprit is:
>
> iskeyword=@,48-57,192-255,$
> Last set from /usr/local/share/vim/vim74/syntax/css.vim
>
> what's strange (at least according to my tiny knowledge of vim) is:
>
> 1) why the css file gets loaded if i have no css files open?
> 2) in that file there's this command:
>
> setlocal iskeyword-=_
>
> so why "setlocal" affects all buffers?
>

It should only affect the buffers for which css.vim is sourced; but if
syntax/php.vim sources syntax/html.vim (which doesn't depend on whether
there _actually_ is HTML code in your PHP script, but on whether the
_language_ can include HTML elements), then syntax/html.vim will, in
turn, source syntax/css.vim (because any HTML source *may* contain CSS
code). Indeed, when I do "vim foobar.php", then ":scriptnames" (both
without the quotes), I see that syntax/php.vim is immediately followed
by syntax/html.vim, and after that the sub-languages which can exist
within HTML: syntax/javascript.vim, syntax/vb.vim, syntax/css.vim; I
suspect that the ones after that (syntax/sql.vim and
syntax/sqloracle.vim) are for other sub-languages which can exist within
PHP source.

I don't know Ruby, but maybe what I said above for PHP might help you.

If you want to mark back the underscore as an 'iskeyword' character
(with all the risks thereto appertaining), you could create a
~/.vim/after/syntax/php.vim (and create the directories if they don't
exist yet) with the line

setlocal isk+=_

Similarly for Ruby. Doing it this way avoids changing it for other CSS
(or HTML) sources.


Best regards,
Tony.
--
A young man enters the New York branch of Tiffany's on a Friday evening and
walks up to a display case full of pearl necklaces. He turns to a gorgeous
woman, who is obviously windowshopping, looks her straight in the eye and
says, "I can tell by your eyes that you really want that necklace. If
you'll
allow me, I'd like to buy it for you."
The woman looks him up and down; he's wearing a nice suit and some
pretty nice jewelry, but she has trouble believing this story.
"Look, this is some kind of put on, right?"
"No, really. You see, I've got quite a lot of money -- so much that
I could never spend it all. I'd really like for you to have it."
The guys whips out his checkbook, writes a check for five figures,
calls over a clerk and hands it to him. The clerk peers at the check, looks
at the young man, looks at the check again. "Very good, sir. I'm afraid I
can't release the necklace immediately, would Monday be all right?"
"That'll be fine, she'll pick it up." the man replies, and walks out
of the store with the woman following him in a daze.
The next Monday the man comes back in and walks up to the counter.
The same clerk hurries over to him and says, "Sir, I'm sorry to have to tell
you this, but your check was returned for insufficient funds."
"I know," the man replies. "I just wanted to thank you for a
terrific weekend."

--
--
You received this message from the "vim_use" 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_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment