34

GitHub - Angry-Potato/prettier-plugin-kotlin: A prettier plugin for the Kotlin p...

 4 years ago
source link: https://github.com/Angry-Potato/prettier-plugin-kotlin
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Prettier Kotlin

construction Work in Progress! construction

Welcome to prettier-plugin-kotlin wave

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

bust_in_silhouetteLiam Humphreys

handshake 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 star if this project helped you!

memo License

Copyright © 2019 Liam Humphreys.
This project is MIT licensed.


This README was generated with heart by readme-md-generator


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK