prettier-plugin-kotlin
v2.1.0
Published
prettier plugin for the Kotlin programming language.
Downloads
2,312
Maintainers
Readme
prettier plugin for the Kotlin programming language.
How it works
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.
Status
- 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.
Install
npm install
Getting started
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
Usage
## format all kotlin files in your project
./node_modules/.bin/prettier --write "**/*.kt"
## or
yarn prettier --write "**/*.kt"
Integration with editors
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.
Known VSCode Issue
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.
Author
👤 Liam Humphreys
- Github: @Angry-Potato
🤝 Contributing
Contributions, issues and feature requests are welcome!Feel free to check issues page.
Credits
Special thanks to @cretz for creating Kastree.
Show your support
Give a ⭐️ if this project helped you!
📝 License
Copyright © 2019 Liam Humphreys. This project is MIT licensed.
This README was generated with ❤️ by readme-md-generator