🚧 Work in Progress! 🚧
prettier plugin for the Kotlin programming language.
A Prettier plugin must first parse the source code of the target language into a traversable data structure (Usually an Abstract Syntax Tree) and then print out that data structure in a "pretty" style.
Prettier-plugin-kotlin uses a Kotlin-Parser implemented in Kotlin, heavily based on Kastree.
- Parser alpha version done, it can parse most of Kotlin code. However, performance is an issue, and we still need to make some tweaks and improvements.
- The printer is mostly done, it can output formatted code but needs to be improved on some cases.
npm install
Simply install prettier
and prettier-plugin-kotlin
as your project’s npm dependencies:
cd /path/to/project
## initialise an npm project if you haven’t done it yet
npm init
## or
yarn init
## add Prettier and its Kotlin plugin to project’s dev dependencies
npm install --dev prettier prettier-plugin-kotlin
## or
yarn add --dev prettier prettier-plugin-kotlin
## format all kotlin files in your project
./node_modules/.bin/prettier --write "**/*.kt"
## or
yarn prettier --write "**/*.kt"
If you are using a text editor that supports Prettier integration (e.g. Atom), you can have all Prettier perks for your Kotlin code too!
Use of this plugin in VSCode extension seems to be blocked by prettier/prettier-vscode#395. Feel free to help!
In order to get prettier-plugin-kotlin
working in projects that do not have local npm dependencies, you can install this plugin globally:
npm install --global prettier prettier-plugin-kotlin
In this case, you might need to check the settings of your editor’s Prettier extension to make sure that a globally installed Prettier is used when it is not found in project dependencies (i.e. package.json
).
Nevertheless, it is recommended to rely on local copies of prettier
and prettier-plugin-kotlin
as this reduces the chance of formatting conflicts between project collaborators.
This may happen if different global versions of Prettier or its Kotlin plugin are used.
Installing prettier-plugin-kotlin
either locally or globally may require you to restart the editor if formatting does not work right away.
If you've managed to install prettier-plugin-kotlin
and formatOnSave
doesn't work, but right-clicking and selecting Format Document
works fine, you need to increase the formatOnSaveTimeout
.
You can do this by opening your settings window (Ctrl+,
), and searching formatOnSave
, then setting the value of formatOnSaveTimeout
to 5000. This will be fixed as we improve performance of the plugin.
👤 Liam Humphreys
- Github: @Angry-Potato
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Special thanks to @cretz for creating Kastree.
Give a ⭐️ if this project helped you!
Copyright © 2019 Liam Humphreys.
This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator