Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ftomassetti/antlr4-c3-kotlin
Code completion for ANTLR
https://github.com/ftomassetti/antlr4-c3-kotlin
antlr antlr4 code-completion
Last synced: 3 months ago
JSON representation
Code completion for ANTLR
- Host: GitHub
- URL: https://github.com/ftomassetti/antlr4-c3-kotlin
- Owner: ftomassetti
- License: mit
- Created: 2017-07-12T13:27:58.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-09-15T09:16:47.000Z (over 4 years ago)
- Last Synced: 2024-04-16T18:15:19.866Z (9 months ago)
- Topics: antlr, antlr4, code-completion
- Language: Kotlin
- Homepage:
- Size: 110 KB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE
Awesome Lists containing this project
README
# ANTLR4-C3-Kotlin
[![Build Status](https://travis-ci.org/ftomassetti/antlr4-c3-kotlin.svg?branch=master)](https://travis-ci.org/ftomassetti/antlr4-c3-kotlin) [![Maven Central](https://img.shields.io/maven-central/v/me.tomassetti.antlr4c3/antlr4-c3-kotlin.svg)](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22me.tomassetti.antlr4c3%22%20AND%20a%3A%22antlr4-c3-kotlin%22)
_The original version of this project has been created by translating to Kotlin [antlr4-c3](https://github.com/mike-lischke/antlr4-c3), a project by Mike Lischke._
This library provides a grammar agnostic code completion engine for ANTLR4 based parsers, written in Kotlin. The c3 engine is able to provide code completion candidates useful for editors with ANTLR generated parsers, independent of the actual language/grammar used for the generation.
Being written in Kotlin the idea is to be reuse the same Kotlin on the JVM and in the browser.
## API
The high level API can be used very simply by specifying the lexer class, the parser class and the code to be completed. It will return the set of token types that are expected:
```kotlin
val expectedTokenTypes = tokenSuggested("var a = 1 +", SandyLexer::class.java, SandyParser::class.java)
```In this case the result will be a list of token types representing:
* a left parenthesis
* the minus sign
* an ID
* an integer literal
* a decimal literal## License
This code is released under the MIT License