All Projects → xonixx → intellij-awk

xonixx / intellij-awk

Licence: MIT License
The missing IntelliJ IDEA language support plugin for AWK

Programming Languages

awk
318 projects
java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to intellij-awk

eventbus-plugin
IntelliJ iDEA plugin to work with projects using greenrobot's EventBus library
Stars: ✭ 25 (+38.89%)
Mutual labels:  intellij, intellij-plugin
idea-php-advanced-autocomplete
Plugin for PhpStorm IDE. Adds auto-completion support for various built-in PHP functions, where parameter is a string literal.
Stars: ✭ 57 (+216.67%)
Mutual labels:  intellij, intellij-plugin
EditorGroups
IntelliJ plugin prototype of https://youtrack.jetbrains.com/issue/IDEA-12130#comment=27-2838171
Stars: ✭ 16 (-11.11%)
Mutual labels:  intellij, intellij-plugin
xmake-idea
🍨 A XMake integration in IntelliJ IDEA
Stars: ✭ 44 (+144.44%)
Mutual labels:  intellij, intellij-plugin
bamboo-soy
An intellij plugin supporting Closure Template language (Soy)
Stars: ✭ 42 (+133.33%)
Mutual labels:  intellij, intellij-plugin
idea-carbon-now-sh
IntelliJ IDEA plugin to open the selected code in https://carbon.now.sh
Stars: ✭ 27 (+50%)
Mutual labels:  intellij, intellij-plugin
intellij-mob
IntelliJ plugin for swift git handover and timer
Stars: ✭ 26 (+44.44%)
Mutual labels:  intellij, intellij-plugin
IntelliJ-IDEA-Translate2Chinese
Chinese ​(Simplified)​ Language Pack EAP v201.15 魔改进行中...
Stars: ✭ 14 (-22.22%)
Mutual labels:  intellij, intellij-plugin
MarioProgressBar
The Mario progress bar for IntelliJ IDEA and other JetBrains IDEs.
Stars: ✭ 29 (+61.11%)
Mutual labels:  intellij, intellij-plugin
referencer-plugin
"Referencer" plugin for Jetbrains IDEs
Stars: ✭ 20 (+11.11%)
Mutual labels:  intellij, intellij-plugin
slides-presenter
Plugin to show slides and code examples directly from IntelliJ IDEs
Stars: ✭ 19 (+5.56%)
Mutual labels:  intellij, intellij-plugin
sourcegraph-jetbrains
Sourcegraph for JetBrains IDEs (IntelliJ)
Stars: ✭ 34 (+88.89%)
Mutual labels:  intellij, intellij-plugin
highlight-bracket-pair
🎉Highlight bracket pair plugin for intellij
Stars: ✭ 25 (+38.89%)
Mutual labels:  intellij, intellij-plugin
idea-php-shopware-plugin
Shopware Plugin for PhpStorm which extends Symfony Plugin
Stars: ✭ 50 (+177.78%)
Mutual labels:  intellij, intellij-plugin
dummytext-plugin
"Dummy Text Generator" plugin for Jetbrains IDEs
Stars: ✭ 31 (+72.22%)
Mutual labels:  intellij, intellij-plugin
idea-php-typo3-plugin
TYPO3 CMS Plugins for IntelliJ IDEA / PhpStorm
Stars: ✭ 93 (+416.67%)
Mutual labels:  intellij, intellij-plugin
aemtools
AEM Tools is Intellij IDEA plugin containing Adobe Experience Manager related features
Stars: ✭ 49 (+172.22%)
Mutual labels:  intellij, intellij-plugin
intellij-ui-test-robot
The library allows you to write and execute UI tests among IntelliJ IDEA. You can test your Plugin.
Stars: ✭ 60 (+233.33%)
Mutual labels:  intellij, intellij-plugin
material-design-color-palette
🎨Material Design color palette pluin for IntelliJ based IDEs.
Stars: ✭ 19 (+5.56%)
Mutual labels:  intellij, intellij-plugin
gradle-cleaner-intellij-plugin
Force clear delaying & no longer needed Gradle tasks.
Stars: ✭ 26 (+44.44%)
Mutual labels:  intellij, intellij-plugin

intellij-awk

The missing IntelliJ IDEA language support plugin for AWK

Motivation

  • At the moment there iswas no AWK plugin for IDEA, which iswas a pity.
  • Help me develop some of my own projects in AWK.
  • Interested to sharpen my Java skills and learn some IDEA internals.

Goals v0.0.1 [done]

  • Support basic AWK code highlighting
  • Support basic AWK code navigations
    • show structure
    • go to declaration
    • find usages
  • Support completion
    • function names
    • variable names
    • keywords
  • Support only POSIX subset (aka BWK), w/o Gawk additions (this can be added later)
  • Refactoring support
    • rename variable
    • rename function
  • Basic auto-format

Goals v0.2.0 [done]

  • Add GAWK parsing mode

Goals v0.3.0 [done]

  • Enforce variable naming convention (the idea taken from How I Write AWK Code)
    • name for local
  • Showing parameter hints for functions (Ctrl-P)
  • Showing documentation for built-in functions
  • Showing documentation for built-in variables (NR/NF/etc.)

Future ideas

  • Enforce variable naming convention (the idea taken from How I Write AWK Code)
    • Name for global
  • Add settings switch to select Awk dialect (Posix vs Gawk)
  • Auto-format code via gawk --pretty-print

Parser quirks

Please note, due to very ad-hoc nature of AWK syntax (namely some inherent ambiguities in its grammar) the implemented IntelliJ IDEA AWK parser has some minor limitations.

More details in parser_quirks.md

Implementation details

The chosen approach to variables resolution described in variables_resolution.md

Useful links

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].