All Projects → monogon-dev → intellij-cue

monogon-dev / intellij-cue

Licence: Apache-2.0 license
IntelliJ support for the CUE language.

Programming Languages

java
68154 projects - #9 most used programming language
CUE
23 projects
Lex
420 projects
kotlin
9241 projects

Projects that are alternatives of or similar to intellij-cue

JetBrainsCopilot
✈️ IDE plugin for the IntelliJ platform which adds GitHub Copilot support. (VERY WIP)
Stars: ✭ 155 (+573.91%)
Mutual labels:  intellij
CpuUsageIndicator
IntelliJ plugin https://plugins.jetbrains.com/plugin/8580?pr=idea
Stars: ✭ 19 (-17.39%)
Mutual labels:  intellij
lex
Lex is an implementation of lex tool in Ruby.
Stars: ✭ 49 (+113.04%)
Mutual labels:  lexer
ycy-intellij-plugin
Programmer Motivator: Chaoyue Yang for IntelliJ Platform
Stars: ✭ 100 (+334.78%)
Mutual labels:  intellij
compiler lab
Some toy labs for compiler course
Stars: ✭ 49 (+113.04%)
Mutual labels:  lexer
yara-parser
Tools for parsing rulesets using the exact grammar as YARA. Written in Go.
Stars: ✭ 69 (+200%)
Mutual labels:  lexer
intellij-ron
A plugin that adds RON (Rusty Object Notation) support to IntelliJ IDEA
Stars: ✭ 26 (+13.04%)
Mutual labels:  intellij
IDEProjectConverter-Java
Convert Java Projects created in IntelliJ to Netbeans.
Stars: ✭ 34 (+47.83%)
Mutual labels:  intellij
AppleScript-IDEA
AppleScript support for IntelliJ IDEs
Stars: ✭ 21 (-8.7%)
Mutual labels:  intellij
Own-Programming-Language-Tutorial
Репозиторий курса "Как создать свой язык программирования"
Stars: ✭ 95 (+313.04%)
Mutual labels:  lexer
previewjs
Preview UI components in your IDE instantly
Stars: ✭ 1,331 (+5686.96%)
Mutual labels:  intellij
SwiLex
A universal lexer library in Swift.
Stars: ✭ 29 (+26.09%)
Mutual labels:  lexer
intellij-idea-community
Unofficial .deb packages of IntelliJ IDEA Community Edition. This is a mirror of
Stars: ✭ 32 (+39.13%)
Mutual labels:  intellij
ReactPropTypes-Plugin
A Jetbrains Plugin for react PropTypes
Stars: ✭ 62 (+169.57%)
Mutual labels:  intellij
ginkgo4j
A Java BDD Testing Framework (based on RSpec and Ginkgo)
Stars: ✭ 25 (+8.7%)
Mutual labels:  intellij
idea-return-highlighter
Highlight return keywords.
Stars: ✭ 24 (+4.35%)
Mutual labels:  intellij
lexer
Hackable Lexer with UTF-8 support
Stars: ✭ 19 (-17.39%)
Mutual labels:  lexer
JetTunes-Desktop-Music-Player
Material design music player made with javafx
Stars: ✭ 36 (+56.52%)
Mutual labels:  intellij
android-studio-plugin
Integrate your Android project with Crowdin
Stars: ✭ 52 (+126.09%)
Mutual labels:  intellij
railways
A plugin for RubyMine and IntelliJ IDEA Ultimate that adds a panel with routes of Ruby on Rails application.
Stars: ✭ 44 (+91.3%)
Mutual labels:  intellij

CUE Language Support

CUE Language support for the IntelliJ platform, https://plugins.jetbrains.com/plugin/16126-cue.

Usage

The CUE plugin is compatible with any JetBrains IDE 2020.3 or later. Only IntelliJ-based IDEs are supported, i.e. it's incompatible with ReSharper.

Features

Please note that this plugin is in an early state.

  • Complete support for the current language specification
  • Syntax highlighting with settings
  • Code folding
  • Brace matching
  • Formatting with cue fmt
  • Language injection

Formatter

Formatting of CUE files with cue fmt is supported.

Please make sure that cue is available in $PATH. If the executable can't be found, then no content is modified.

Only complete files can be supported. If content is selected before invoking the format action, then no content is modified.

Settings

The application settings allow to configure the path to the cue binary. You can download it at github.com/cuelang.

Bug Reports & Feature Requests

Please report your issues at github.com/monogon-dev/intellij-cue.

Development

  • Java JDK 11 is required

IDE

Development is best in IntelliJ IDEA.

The following plugins are required for development:

Building

After a build, the plugin is available as a ZIP file at build/distributions/.

Building with tests:

./gradlew clean build

Building without tests:

./gradlew clean build -x test

Executing

You could build the plugin (see above) and install it into your IDE of choice. Alternatively, you can run the plugin in a sandbox:

./gradlew runIde

Lexer

The lexer is generated by JFlex. The definition is at src/grammar/cue.flex.

The following command regenerates the lexer:

./gradlew generateLexer

Parser

The parser is generated with JetBrains' GrammarKit. GrammarKit is a plugin for IntelliJ IDEA. The definition is at src/grammar/cue.bnf.

To update the parser and all related classes, open the cue.bnf file in your IDE and choose Generate Parser in the context menu of the editor.

Useful Link

Copyright

© 2021 Nexantic GmbH / Monogon

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].