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

[WIP] Naomi 5.0.0 #170

Open
wants to merge 443 commits into
base: develop
Choose a base branch
from
Open

[WIP] Naomi 5.0.0 #170

wants to merge 443 commits into from

Conversation

borela
Copy link
Owner

@borela borela commented Aug 22, 2018

Integration

  • API to enable external packages to use Naomi's compilers.

Build systems

  • Commands;
  • Keymaps;
  • Menus;
  • Preferences;
  • Syntaxes:
    • Build a AST representation of the final syntax:
    • Visitor system to transform the AST.
    • Allow lists of words to be specified as an array instead of regex through the match_words statement.
    • Allow function calls in match and variable patterns, e.g.: match_words becomes just a shortcut for the words function which accepts a list of words and returns an optimized regex string.
    • Include files using:
      • Sublime's normal inclusion Package/YourPackage/...;
      • Relative paths ./path...;
      • Relative to a src root ~/path... which will be calculated on a per package basis;
    • Use the AST to predict and alert about recursion. It must not compile the syntax in those cases to prevent Sublime from freezing.
    • Conditional inclusions using settings;
    • Output:
      • Generate code from the AST.
      • Tree shaking;
      • Add context statistics;

Watchers (Auto build on change)

  • Commands;
  • Keymaps;
  • Menus;
  • Preferences;
  • Syntaxes;

Testing system

  • Syntax:
    • Test individual syntax files;
    • Test variables;
    • Test final output;

@borela borela changed the base branch from master to develop August 22, 2018 14:25
@borela borela changed the base branch from develop to master August 22, 2018 14:31
@borela borela changed the base branch from master to develop August 22, 2018 14:33
@Whoaa512
Copy link
Contributor

I'm noticing this blocking a few other issues. Anything I can do to help move it along?

@borela
Copy link
Owner Author

borela commented Sep 20, 2018

I got the build system for:

  • Commands;
  • Indentation preferences;
  • Keymaps;
  • Menus;

For the syntaxes I've been looking at how to implement it and optimization algorithms, I'll have something basic done this week:

  • Parsing the yaml files, this is easy as I am using ruammel;
  • Linking the references;
  • Removing duplicated contexts;
  • Output the final result;

I'll definitelly need help testing and debugging it because the syntaxes have 200+ files; To simplify testing I am also planning a way to test individual files and put tests near the source files like I do in Jest;

@borela borela changed the title [WIP] Build system [WIP] Naomi 5.0 Oct 13, 2018
@borela borela changed the title [WIP] Naomi 5.0 [WIP] Naomi 5.0.0 Oct 13, 2018
@boycce
Copy link

boycce commented Apr 25, 2021

Can I use this PR? I need JSX, style-components CSS, and PHP working together 🤪

@kud
Copy link

kud commented Apr 25, 2021

I've moved to VS Code. I wasn't able to wait to much. 😬

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.

4 participants