ziglang / zig.vim

Vim configuration for Zig
MIT License
448 stars 56 forks source link

Substantial reorganization of syntax highlighting file #80

Open rsaihe opened 2 years ago

rsaihe commented 2 years ago

As discussed in the Zig Programming Language Discord, I have been working on rewriting the entire zig.vim plugin from scratch. This pull request contains all of the improvements I have made to syntax highlighting and heavily reorganizes the syntax file to hopefully make it more maintainable for the future.

haze commented 1 year ago

@rsaihe I forgot where we left off on this, I know the last time I had asked there hasn't been much progress. I want to ask, does this fix some of the weird indentation rules for zig? Also, if you no longer want to work on this or can't, is it okay if I finish up?

rsaihe commented 1 year ago

This is only syntax highlighting, but I did manage to fix a lot of cases of incorrect indentation in my personal Vim plugin for Zig (found here). I don't have much energy right now to move my indentation changes into a pull request but you are totally free to use what I have there.

matu3ba commented 1 year ago

@haze What is the status of this? I'd like to lookup the color rules to document necessary changes for semantic tokens and treesitter color rules by zls and treesitter-zig to match the provided colors here.

Specifically I am annoyed that control flow instructions do not have a special rule within semantic tokens to highlight it properly.

atweiden commented 1 year ago

I’ve incorporated some of the standout features of #80 minus the reorg in the develop branch at https://github.com/atweiden/zig.vim, in addition to a few recent pull requests. IIRC I haven’t done anything with #80’s string handling yet.

As a point of differentiation compared to #80, besides not reorging, it handles @"" variables by |hl-Ignore|ing the @"" chars and highlighting the name of the variable the same as any other variable. Feedback has been negative on using hl-Ignore in the past, but I kind of don’t mind it. Not to digress too much, but it might be better for colorscheme authors to implement custom colouring for the @"" chars in Zig (similar to how many colorschemes implement custom handling of select filetypes already).