Comments (7)
I just have to note that this is just a draft specification requirement. So for now, support for this feature can wait a bit.
from parser.
Agree that it may wait, but for example HotChocolate and all graphql syntax highlighting plugins I've used already support it.
I've started implementing #33, as we might have to just switch to HotChocolate otherwise.
As a side note (which may be extracted into a separate issue), the current parsing logic (not the entities) doesn't seem to match the structure of the spec. I don't know if it's due to the historical development reasons, or the GraphQL spec have evolved quite far, but I think it would be great to refactor the parser to match the structure of the specification. For example (as defined in the spec):
Document has a list of Definitions.
Definition is either ExecutableDefinition, TypeSystemDefinition or TypeSystemExtension.
ExecutableDefinition is either an OperationDefinition or FragmentDefinition.
etc.
And parse the input using exactly the same hierarchy. It will allow the code to match the spec 1:1, and future changes would be much easier to implement. What do you think? I can come up with the implementation POC if you think it's worthwhile
from parser.
Document has a list of Definitions.
Definition is either ExecutableDefinition, TypeSystemDefinition or TypeSystemExtension.
ExecutableDefinition is either an OperationDefinition or FragmentDefinition.
etc.
The structure of the parser document is the same, isn't it?
from parser.
The current 2018 spec says the same thing about comments, by the way, that they are treated as white space. This seems like an important fix
from parser.
Fixed by #105 ?
from parser.
Yes (optional). Also see #104 and #80
from parser.
Also see #101 (comment)
from parser.
Related Issues (20)
- Add advanced SDLWriter tests for descriptions and comments HOT 2
- Use string.GetHashCode in ROM HOT 6
- Consider to split GraphQLBooleanValue into two classes for true and false
- Ensure October spec compliance before v8 release and publish release
- Optimize comments and block strings
- Add SDLPrinterOptions.Sorted property HOT 7
- Don't track branch coverage for Debug.Assert HOT 4
- Publish v8.1.0 release HOT 1
- Fix readme on Nuget
- SDLPrinter.Print in addition to SDLPrinter.PrintAsync HOT 8
- Strange formatting of input types with descriptions HOT 16
- More Parse methods HOT 5
- Revise AST constructors
- Add tests to increase code coverage up to 100%
- 9.0.1 formatting - lost indentation of arguments (fine in 8.x) HOT 4
- All literals should have proper indentation in case of preceding comments
- Inconsistent formatting of arguments HOT 16
- Suggested feature: default AST visitor context
- Fix broken indentation
- There's an extra space here also, between `...` and `@skip`.
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 parser.