Comments (1)
Let's take a look at some rules and what they need.
eol-last
— require or disallow newline at the end of files
- Access to the CST, because AST doesn't contain line breaks.
- A way to get the last token of the whole script and check whether it's a
LineBreak
.
no-redeclare
— disallow constant and flag redeclaration
- Efficient way to visit all
ConstDefinition
andFlagDefinition
nodes. - Access to the CST representation of an AST node to report the offending text span.
no-trailing-spaces
— disallow trailing whitespace at the end of lines
- Efficient way to visit all
LineBreak
CST nodes.
no-use-before-define
— disallow the use of constants and flags before they are defined
- Efficient way to visit all places where identifiers can be used: command/attribute arguments and conditions.
from mangudai.
Related Issues (20)
- Think about a project logo
- Document all available built-in constants and flags
- Allow to use `if` in command header HOT 1
- Allow comments around left curly of command block
- Investigate using `start random` instead of `start_random` HOT 1
- Allow empty `percent_chance` blocks
- Investigate whether there're any valid use cases for duplicating commands with exact attrs
- Give AST nodes more consistent names like `FooStatement` and `FooExpression`
- Handle lexer errors the same way linter does it, with boundaries included
- Implement an online playground using Monaco editor HOT 1
- Investigate how to implement suggestions for VS Code, ST3 and online playground HOT 1
- Allow to use directives inside command blocks
- At least update API in readme
- Fix linter rule "no-redeclare": allow the same declaration to be in `if` and `else` is some cases HOT 1
- Allow standalone commands before the first section
- Allow negative numbers HOT 1
- Fix moo and nearley TypeScript definitions HOT 1
- `if` should not require newline after condition HOT 1
- Linter should give an error when #define or #const are used in `if` or `random`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mangudai.