Skip to content

Treat form feed character as whitespace in lexer - #7069

Open
remimimimimi wants to merge 1 commit into
odin-lang:masterfrom
remimimimimi:treat-form-feed-as-whitespace
Open

Treat form feed character as whitespace in lexer#7069
remimimimimi wants to merge 1 commit into
odin-lang:masterfrom
remimimimimi:treat-form-feed-as-whitespace

Conversation

@remimimimimi

Copy link
Copy Markdown

Currently, the lexer rejects the form feed character (\f) when it appears between tokens. This PR adds support for treating it as whitespace.

Form feed is conventionally used as a file-section separator by editors such as Emacs and Vim. This can be useful in large source files, where it provides a simple way to organize related declarations into sections and quickly navigate between them.

I also checked Sublime Text, VSCode, and CLion. They render this character explicitly so it is clearly distinguishable from space or tab characters. As far as I'm aware, there is no built-in support for navigating through file using form feed characters in those editors.

Although this changes the language’s lexical grammar, the implementation is very small. I opened a PR rather than only starting a discussion so that the proposed behavior and implementation can be reviewed and discussed together.

@gingerBill

Copy link
Copy Markdown
Member

I have never heard of this feature in vim nor emacs, nor have anyone I have spoken to who actively use vim.

Also, I didn't want to support \f nor \v as whitespace because I still view them as archaïc and why I never supported the as part of the grammar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants