Skip to content
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

Use main_syntax variable to detect embedded syntax #108

Merged
merged 1 commit into from
Aug 3, 2024
Merged

Conversation

jparise
Copy link
Owner

@jparise jparise commented Aug 3, 2024

Our syntax file can be loaded in two ways: as a top-level syntax (e.g. when we're in a 'graphql' buffer) and embedded within an outer ("main") syntax (e.g. within a 'javascript' buffer).

The syntax file has some conditional behavior when it's embedded (such as not setting syn sync), to avoid infecting the outer context.

We were previously using a custom b:graphql_nested_syntax variable to differentiate these cases. There is a more "standard" convention for this that uses a main_syntax global variable, so this change switches the code to use that approach instead.

This adds some additional housekeeping steps to our embedding procedure, so this change also introduces a graphql#embed_syntax() helper function that we now use in all of our filetype-specific syntax extension files.

Our syntax file can be loaded in two ways: as a top-level syntax (e.g.
when we're in a 'graphql' buffer) and embedded within an outer ("main")
syntax (e.g. within a 'javascript' buffer).

The syntax file has some conditional behavior when it's embedded (such
as _not_ setting `syn sync`), to avoid infecting the outer context.

We were previously using a custom b:graphql_nested_syntax variable to
differentiate these cases. There is a more "standard" convention for
this that uses a main_syntax global variable, so this change switches
the code to use that approach instead.

This adds some additional housekeeping steps to our embedding procedure,
so this change also introduces a graphql#embed_syntax() helper function
that we now use in all of our filetype-specific syntax extension files.
@jparise
Copy link
Owner Author

jparise commented Aug 3, 2024

@jparise jparise merged commit 1653be9 into master Aug 3, 2024
1 check passed
@jparise jparise deleted the main_syntax branch August 3, 2024 14:58
@jparise jparise mentioned this pull request Aug 3, 2024
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.

1 participant