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

Appearance settings

Rewrite Variable Logic From Scratch #137

Copy link
Copy link
@omniomi

Description

@omniomi
Issue body actions

There are multiple issues with variables as they stand now in the grammar some of which have been reported and some of which haven't:

There are also questions about the correct scope of properties and methods (mentioned #131) and questions about to what extent the grammar should be concerned with user expectation/"most themes" vs either correctness (subjective) or consistency (with which languages?) (#130 and #129).

Background

The following cases need to be covered with as little repetition / complexity as possible:

  • Regular variables with and without scopes, properties, array position, methods, etc.
  • Variables contained within strings.
  • Variables contained within sub-expressions with and without scopes, properties, array position, methods, etc.
  • Variables in and out of strings and sub-expressions when using the ${Variable} format again with and without scopes, properties, array position, methods, etc.

The following gotchas need to be taken in to account:

  • Which special characters are legal within ${Variable} syntax vs $Variable syntax.
  • International characters (\p{L} vs [A-z]`).
  • Access of variables through splatting where the sigil is @.
  • Separate scoping for constants, automatic variables, language variables, etc.
  • $$ where "$$Hello" needs to show $$ as the variable and Hello as part of the double quoted string and other similar oddities.
  • Lots of others...

Planned Format/Rules

??? tbd

Re: Scope selection -> See #138

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.