-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add syntax support for binary literals #2557
Conversation
@@ -166,11 +166,15 @@ syn match goDecimalInt "\<-\=\d\+\%([Ee][-+]\=\d\+\)\=\>" | |||
syn match goHexadecimalInt "\<-\=0[xX]\x\+\>" | |||
syn match goOctalInt "\<-\=0\o\+\>" | |||
syn match goOctalError "\<-\=0\o*[89]\d*\>" | |||
syn match goBinaryInt "\<-\=0[bB][01]\+\>" | |||
syn match goBinaryError "\<-\=0[bB][01]*[2-9]\+[01]*\>" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does this match leading and trailing 0 or 1? Would <-\=0[bB].*[^01]
be simpler and catch all the problems?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your regex does not match errors like 0b2201
AFAICT.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does match 0b2201
: https://play.golang.org/p/QUm4VUWnF0e
v1.22 - (January 30, 2020) BACKWARDS INCOMPATIBILITIES: * Drop support for Vim 7.4. The minimum required version of Vim is now 8.0.1453. [[GH-2495]](fatih/vim-go#2495) [[GH-2497]](fatih/vim-go#2497) * Drop support for `gometalinter` [[GH-2494]](fatih/vim-go#2494) IMPROVEMENTS: * Highlight the `go` keyword in go.mod files. [[GH-2473]](fatih/vim-go#2473) * Use echo functions consistently. [[GH-2458]](fatih/vim-go#2458) * Add support for managing goroutines in debugger. [[GH-2463]](fatih/vim-go#2463) [[GH-2527]](fatih/vim-go#2527) * Document `g:go_doc_popup_window`. [[GH-2506]](fatih/vim-go#2506) * Make `g:go_doc_popup_window=1` work for Neovim, too. [[GH-2451]](fatih/vim-go#2451) [[GH-2512]](fatih/vim-go#2512) * Handle errors jumping to a definition in a file open in another Vim process better. [[GH-2518]](fatih/vim-go#2518) * Improve the UX when the gopls binary is missing. [[GH-2522]](fatih/vim-go#2522) * Use gopls instead of guru for `:GoSameIds`. [[GH-2519]](fatih/vim-go#2519) * Use gopls instead of guru for `:GoReferrers`. [[GH-2535]](fatih/vim-go#2535) * Update documentation for `g:go_addtags_transform`. [[GH-2541]](fatih/vim-go#2541) * Install most helper tools in module aware mode. [[GH-2545]](fatih/vim-go#2545) * Add a new option, `g:go_referrers_mode` to allow the user to choose whether to use gopls or guru for finding references. [[GH-2566]](fatih/vim-go#2566) * Add options to control how gopls responds to completion requests. [[GH-2567]](fatih/vim-go#2567) [[GH-2568]](fatih/vim-go#2568) * Add syntax highlighting for binary literals. [[GH-2557]](fatih/vim-go#2557) * Improve highlighting of invalid numeric literals. [[GH-2571]](fatih/vim-go#2571) [[GH-2587]](fatih/vim-go#2587) [[GH-2589]](fatih/vim-go#2589) [[GH-2584]](fatih/vim-go#2584) [[GH-2597]](fatih/vim-go#2597) [[GH-2599]](fatih/vim-go#2599) * Add highlighting of sections reported by gopls diagnostics' errors and warnings. [[GH-2569]](fatih/vim-go#2569) [[GH-2643]](fatih/vim-go#2643) * Make the highlighting of fzf decls configurable. [[GH-2572]](fatih/vim-go#2572) [[GH-2579]](fatih/vim-go#2579) * Support renaming with gopls. [[GH-2577]](fatih/vim-go#2577) [[GH-2618]](fatih/vim-go#2618) * Add an option, `g:go_gopls_enabled`, to allow gopls integration to be disabled. [[GH-2605]](fatih/vim-go#2605) [[GH-2609]](fatih/vim-go#2609) [[GH-2638]](fatih/vim-go#2638) [[GH-2640]](fatih/vim-go#2640) * Add a buffer level option, `b:go_fmt_options`, to control formatting options per buffer. [[GH-2613]](fatih/vim-go#2613) * Use build tags when running `:GoVet`. [[GH-2615]](fatih/vim-go#2615) * Add new snippets for UltiSnips. [[GH-2623]](fatih/vim-go#2623) [[GH-2627]](fatih/vim-go#2627) * Expand completions as snippets when `g:go_gopls_use_placeholders` is set. [[GH-2624]](fatih/vim-go#2624) * Add a new function, `:GoDiagnostics` and an associated mapping for seeing `gopls` diagnostics. Because of the performance implications on large projects, `g:go_diagnostics_enabled` controls whether all diagnostics are processed or only the diagnostics for the current buffer. [[GH-2612]](fatih/vim-go#2612) * Explain how to find and detect multiple copies of vim-go in the FAQ. [[GH-2632]](fatih/vim-go#2632) * Update the issue template to ask for the gopls version and `:GoReportGitHubIssue` to provide it. [[GH-2630]](fatih/vim-go#2630) * Use text properties when possible for some highlighting cases. [[GH-2652]](fatih/vim-go#2652) [[GH-2662]](fatih/vim-go#2662) [[GH-2663]](fatih/vim-go#2663) [[GH-2672]](fatih/vim-go#2672) [[GH-2678]](fatih/vim-go#2678) BUG FIXES: * Fix removal of missing directories from gopls workspaces. [[GH-2507]](fatih/vim-go#2507) * Change to original window before trying to change directories when term job ends. [[GH-2508]](fatih/vim-go#2508) * Swallow errors when the hover info cannot be determined. [[GH-2515]](fatih/vim-go#2515) * Fix errors when trying to debug lsp and hover. [[GH-2516]](fatih/vim-go#2516) * Reset environment variables on Vim <= 8.0.1831 . [[GH-2523]](fatih/vim-go#2523) * Handle empty results from delve. [[GH-2526]](fatih/vim-go#2526) * Do not overwrite `updatetime` when `g:go_auto_sameids` or `g:go_auto_type_info` is set. [[GH-2529]](fatih/vim-go#2529) * Fix example for `g:go_debug_log_output` in docs. [[GH-2547]](fatih/vim-go#2547) * Use FileChangedShellPost instead of FileChangedShell so that reload messages are not hidden. [[GH-2549]](fatih/vim-go#2549) * Restore cwd after `:GoTest` when `g:go_term_enabled` is set. [[GH-2556]](fatih/vim-go#2556) * Expand struct variable correctly in the variables debug window. [[GH-2574]](fatih/vim-go#2574) * Show output from errcheck when there are failures other than problems it can report. [[GH-2667]](fatih/vim-go#2667) Signed-off-by: Patrick McCarty <[email protected]>
Adds syntax support for binary literals, introduced in go 1.3.
These will literals will now be highlighted as integers:
And these will be marked as errors for obvious reasons: