rodjek / vim-puppet

Puppet niceties for your Vim setup
Apache License 2.0
501 stars 137 forks source link

Syntax highlighting broken since #116 #121

Closed baurmatt closed 4 weeks ago

baurmatt commented 4 years ago

After upgrading my installation to the current master, I realized that the syntax highlighting seems to be broken. After running git bisect I've found that the https://github.com/rodjek/vim-puppet/commit/ef429f0161fb598f39db9945a3da0271b566e72a commit broken it. This got introduced by https://github.com/rodjek/vim-puppet/pull/116.

OS: macOS Catalina 10.15.2 Vim: VIM - Vi IMproved 8.1 (2018 May 18, compiled Nov 9 2019 02:36:49) vim-puppet: Current master (https://github.com/rodjek/vim-puppet/commit/fc6e9efef797c505b2e67631ad2517d7d6e8f00d)

Before https://github.com/rodjek/vim-puppet/commit/ef429f0161fb598f39db9945a3da0271b566e72a:

image

After https://github.com/rodjek/vim-puppet/commit/ef429f0161fb598f39db9945a3da0271b566e72a:

image

lelutin commented 4 years ago

hi there @baurmatt ,

The commit that you mention as triggering the change completely overhauled how coloring is parsed and which hilight classes are used.

This may be the reason why you are seeing this change.

Can you describe a bit more of what you mean by "broken" in this case?

Also, are you using the default color scheme from vim? The one that I use has a bit more variance in it so strings for example don't look like other reserved words like undef.

baurmatt commented 4 years ago

Hey @lelutin, sorry for the late reply. The notification got somehow lost in my inbox 🙈

Those 3 things are the reason I call it "broken":

  1. if/elsif doesn't use a different color
  2. concat_fragement doesn't use a different color
  3. Functions and variable have the same color

I'm using the desert colorscheme. It's really just a extended version of https://github.com/amix/vimrc.

lelutin commented 4 weeks ago

@baurmatt just FYI I've just pushed a slight rework of the syntax file and some of the keywords are now split into their own distinct syntax groups. namely class/node/define/plan are now marked as "Structure", if/else/elsif/unless are marked as Conditional, case/and/or/in are marked as Statement and functions are marked as Function.

Most of these are assigned different colors in the default color schemes and you can set your own colors to them if yours sets the same colors for multiple groups.

as for the concat_fragment type, it is sadly now removed from puppet 8 / stdlib so the plugin does not treat it specially. It should get highlighted as a normal identifier though.

Hopefully those recent changes make things look better for you, too!

I'll close this issue in about a month if I haven't received feedback til then.

Cheers!

baurmatt commented 4 weeks ago

@lelutin Thanks! :) Though I can't tested it anymore because me vim setup massively changed in the last years