Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

💾 The source of VS Code's C++ syntax highlighting

License

NotificationsYou must be signed in to change notification settings

jeff-hykin/better-cpp-syntax

Repository files navigation

Screen Shot 2022-02-11 at 12 01 19 PM

Sponsors

Easy pair programming with any IDE. Duckly enables you to talk, share your code in real-time, server and terminal with people using different IDEs.
Try it out for free


What does this extension do?

This will get you the bleeding-edge syntax highlighting for C++. Which means your theme will be able to color your code better. This used to be a fix, but then VS Code starting using it as the official source for C and C++ highlighting.

NOTE: The default VS Code theme does not color much. Switch to the Dark+ theme (installed by default) or use a theme like one of the following to benefit from the changes:

How do I use the extension?

Just install the VS Code extension and the changes will automatically be applied to all relevant files.
Link:https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax

Comparison (Material Theme)

compare

How do I use the grammar? (as an upstream for my non-vs code editor)

  1. Watch the the "Major Changes" threadhere to know when I change licenses, the codebase structure, or just major highlighting changes.
  2. I support non-VS Code usecases. E.g. yes, you are welcome to open issueslike this one that don't affect VS Code.

What is different from atom/language-c?

It fixes:

  • The issue of single quotes inside #error and #warning being highlighted when then shouldn't be
  • The issue of initialization functions only highlighting the first parenthesis
  • The bug that treats the 'and' and 'or' operator as functions (instead of operators) when they are followed by ()'s
  • Old C99 function highlighting that broke the standard function highlighting
  • The failure of highlighting for the semicolon after namespaces
  • The missing operator overloading symbols
  • The failure to tag operator overloading functions as functions
  • The failure to tag implicit operator overrides
  • The marking of some %'s as invalid inside of stringsatom/language-c#289
  • The highlighting of namespaces with ::'satom/language-c#260
  • The issue of the C++ syntax depending on (and getting screwed up by) the C syntax
  • multiple inheritanceatom/language-c#245
  • And many many more issues (#318, #309, #270, #246, etc)

It adds:

  • Parameter highlighting
  • Highlighting of embedded assembly code (if you have an assembly syntax installed)
  • Function-pointer highlighting
  • Lambda highlighting
  • C++14 literal support (100'000ms)
  • Template definition syntax highlighting (including C++ 2020 syntax)
  • Better object identification
  • Improved scope resolution:: syntax
  • Highlighting of templated function callsaFunction<int>(arguments)
  • Additional specificity for many existing tags
  • Many other features

Like this extension?

Contributing

If you'd like to help improve the syntax, take a look atmain/main.rb. And make sure to take a look atdocumentation/CONTRIBUTING.md to get a better idea of how the code works.

Planned future fixes/features:

  • Add tagging for type-casting statements
  • Add tagging for custom types words
  • Better support for dereferenced/pointer tagging
  • Full C++ 2020 support (module imports, arrow return types, etc.)
  • Improving template types

What if I see a highlighting bug?

Let me know! Post an issue onhttps://github.com/jeff-hykin/better-cpp-syntaxI love regular expressions, and PR's are always welcome.

Did you write all of this yourself?

The original JSON was taken fromhttps://github.com/atom/language-c
@matter123 wrote every massive pull request, from simple bugfixes up to the entire textmate testing suite
@j-cortial has fixed many lingering bugs
The #error fix was taken from fnadeau's pull request here:atom/language-c#251
Thank you @matter123, @j-cortial, and @fnadeau!
The rest of the ruby is authored by @jeff-hykin

About

💾 The source of VS Code's C++ syntax highlighting

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors14


[8]ページ先頭

©2009-2025 Movatter.jp