309 lines
10 KiB
HTML
309 lines
10 KiB
HTML
<!-- Forked from https://microsoft.github.io/monaco-editor/ -->
|
|
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
<meta name="viewport" content="width=device-width" />
|
|
|
|
<title>ktfmt - the Kotlin code formatter</title>
|
|
|
|
<link data-inline="yes-please" href="./lib/bootstrap-cosmo.css" rel="stylesheet"/>
|
|
<link data-inline="yes-please" href="./lib/bootstrap-responsive.min.css" rel="stylesheet"/>
|
|
<link data-inline="yes-please" href="./all.css" rel="stylesheet" />
|
|
<link data-inline="yes-please" href="./index/index.css" rel="stylesheet" />
|
|
|
|
<link data-name="vs/editor/editor.main"
|
|
rel="stylesheet"
|
|
href="node_modules/monaco-editor/min/vs/editor/editor.main.css"
|
|
/>
|
|
</head>
|
|
|
|
<body>
|
|
<a id="gh-link" href="https://github.com/facebookincubator/ktfmt"
|
|
><img
|
|
loading="lazy"
|
|
width="149"
|
|
height="149"
|
|
src="https://github.blog/wp-content/uploads/2008/12/forkme_right_white_ffffff.png?resize=149%2C149"
|
|
class="attachment-full size-full"
|
|
alt="Fork me on GitHub"
|
|
data-recalc-dims="1"
|
|
/></a>
|
|
<nav class="navbar navbar-inverse navbar-fixed-top">
|
|
<div class="navbar-inner">
|
|
<div class="container">
|
|
<div class="logo">
|
|
ktfmt
|
|
</div>
|
|
<div class="logo">
|
|
<a href="index.html">- the Kotlin code formatter</a>
|
|
</div>
|
|
<!-- collapse button for smaller screens -->
|
|
<button
|
|
type="button"
|
|
class="btn btn-navbar"
|
|
data-toggle="collapse"
|
|
data-target=".nav-collapse"
|
|
>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
|
|
<!-- navbar title -->
|
|
<div class="nav-collapse collapse">
|
|
<ul class="nav">
|
|
<li>
|
|
<a
|
|
class="nav-item"
|
|
href="https://github.com/facebookincubator/ktfmt"
|
|
>GitHub</a
|
|
>
|
|
</li>
|
|
<li>
|
|
<a
|
|
class="nav-item"
|
|
href="https://kotlinlang.slack.com/archives/C01GZCU0QNB"
|
|
>Slack</a
|
|
>
|
|
</li>
|
|
<li>
|
|
<a
|
|
class="nav-item"
|
|
href="https://search.maven.org/artifact/com.facebook/ktfmt/{{version}}/jar"
|
|
>Maven Central</a
|
|
>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<section class="try">
|
|
<div class="container">
|
|
<h3>About</h3>
|
|
<div class="row">
|
|
<div class="span12">
|
|
<br />
|
|
<p>
|
|
<code>ktfmt</code> is a program that pretty-prints (formats)
|
|
Kotlin code.
|
|
</p>
|
|
<p>
|
|
It always produces the same result, regardless of how the code
|
|
looks initially, freeing developers to focus on essence.
|
|
</p>
|
|
<p>
|
|
It is by design non-customizable in order to promote consistency.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<hr />
|
|
<h3>Usage</h3>
|
|
<div class="row">
|
|
<div class="span12">
|
|
<br />
|
|
<ul class="nav nav-tabs" id="usage_tab">
|
|
<li class="active">
|
|
<a href="#usage_intellij" data-toggle="tab"
|
|
>IntelliJ / Android Studio</a
|
|
>
|
|
</li>
|
|
<li>
|
|
<a href="#usage_gradle" data-toggle="tab">Gradle</a>
|
|
</li>
|
|
<li><a href="#usage_maven" data-toggle="tab">Maven</a></li>
|
|
<li><a href="#usage_cli" data-toggle="tab">Command line</a></li>
|
|
</ul>
|
|
<div class="tab-content">
|
|
<div class="tab-pane active" id="usage_intellij">
|
|
<p>
|
|
A ktfmt plugin that augments the Reformat Code action (<code>⌥⌘L</code>) is available from JetBrains Marketplace.
|
|
</p>
|
|
<a class="btn btn-info" href="https://plugins.jetbrains.com/plugin/14912-ktfmt" target="_blank">Install</a>
|
|
</div>
|
|
<div class="tab-pane" id="usage_gradle">
|
|
<p>
|
|
<u><b>Spotless</b></u> (<a
|
|
href="https://github.com/diffplug/spotless/tree/main/plugin-gradle#ktfmt"
|
|
>details</a
|
|
>):
|
|
</p>
|
|
|
|
<pre>
|
|
# build.gradle.kts
|
|
plugins { id("com.diffplug.spotless") }
|
|
|
|
// version and style are optional
|
|
spotless { kotlin { ktfmt('{{version}}').kotlinlangStyle() } }
|
|
</pre
|
|
>
|
|
|
|
<p>or,</p>
|
|
<p>
|
|
<u><b>ktfmt-gradle</b></u> (<a
|
|
href="https://github.com/cortinico/ktfmt-gradle#how-to-use-"
|
|
>details</a
|
|
>):
|
|
</p>
|
|
<pre>
|
|
# build.gradle.kts
|
|
plugins { id("com.ncorti.ktfmt.gradle") }
|
|
|
|
ktfmt { kotlinLangStyle() }
|
|
</pre
|
|
>
|
|
</div>
|
|
<div class="tab-pane" id="usage_maven">
|
|
<p>
|
|
<u><b>Spotless</b></u> (<a
|
|
href="https://github.com/diffplug/spotless/tree/main/plugin-maven#ktfmt"
|
|
>details</a
|
|
>):
|
|
</p>
|
|
|
|
<pre>
|
|
# pom.xml
|
|
<configuration>
|
|
<kotlin>
|
|
<ktfmt>
|
|
<version>{{version}}</version>
|
|
</ktfmt>
|
|
</kotlin>
|
|
</configuration>
|
|
</pre
|
|
>
|
|
</div>
|
|
<div class="tab-pane" id="usage_cli">
|
|
<p>
|
|
Download the jar from Maven Central and invoke it using
|
|
<code>java</code>:
|
|
</p>
|
|
<pre>
|
|
$ wget https://repo1.maven.org/maven2/com/facebook/ktfmt/{{version}}/ktfmt-{{version}}-jar-with-dependencies.jar
|
|
$ java -jar ktfmt-{{version}}-jar-with-dependencies.jar [--kotlinlang-style] [files...]
|
|
</pre
|
|
>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<hr />
|
|
<h3>Try It Online</h3>
|
|
<small>Running v{{version}}</small>
|
|
<div class="editor row">
|
|
<div class="span12">
|
|
<div class="row">
|
|
<form id="editorForm" name="editorForm">
|
|
<div class="span3">
|
|
<label class="control-label">Style</label>
|
|
<select class="style-picker input-medium">
|
|
<option>kotlinlang</option>
|
|
<option>Java-like</option>
|
|
</select>
|
|
</div>
|
|
<div class="span3">
|
|
<label class="control-label">Column Limit</label>
|
|
<input
|
|
class="input-small column-limit-picker"
|
|
type="number"
|
|
min="50"
|
|
max="140"
|
|
class="form-control"
|
|
id="column_limit"
|
|
value="100"
|
|
required
|
|
/>
|
|
</div>
|
|
<div class="span4 pull-right">
|
|
<button class="btn btn-primary pull-right" type="submit">
|
|
Format
|
|
</button>
|
|
<p
|
|
id="error-message"
|
|
class="text-error"
|
|
style="display: none"
|
|
>
|
|
Donec ullamcorper nulla non metus auctor fringilla.
|
|
</p>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="editor-frame">
|
|
<div class="loading editor" style="display: none">
|
|
<div class="progress progress-striped active">
|
|
<div class="bar"></div>
|
|
</div>
|
|
</div>
|
|
<div id="editor"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<footer class="container">
|
|
<hr />
|
|
<p class="text-center">
|
|
[
|
|
<a
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
href="https://opensource.facebook.com/legal/privacy/"
|
|
>Privacy</a
|
|
>
|
|
] [
|
|
<a
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
href="https://opensource.facebook.com/legal/terms/"
|
|
>Terms</a
|
|
>
|
|
] [
|
|
<a
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
href="https://opensource.facebook.com/legal/data-policy/"
|
|
>Data Policy</a
|
|
>
|
|
] [
|
|
<a
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
href="https://opensource.facebook.com/legal/cookie-policy/"
|
|
>Cookie Policy</a
|
|
>
|
|
]
|
|
</p>
|
|
<p class="text-center">
|
|
<a href="https://opensource.facebook.com/" title="Facebook Open Source">
|
|
<img
|
|
src="img/oss_logo.png"
|
|
alt="Facebook Open Source"
|
|
style="max-height: 50px; margin-bottom: 12px"
|
|
/>
|
|
</a>
|
|
<br />
|
|
<small>© {{year}} Facebook, Inc. Based on <a href="https://microsoft.github.io/monaco-editor">https://microsoft.github.io/monaco-editor</a></small>
|
|
</p>
|
|
</footer>
|
|
|
|
<script
|
|
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"
|
|
integrity="sha256-wS9gmOZBqsqWxgIVgA8Y9WcQOa7PgSIX+rPA0VL2rbQ="
|
|
crossorigin="anonymous"
|
|
></script>
|
|
<script
|
|
src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.0/bootstrap.min.js"
|
|
integrity="sha256-u+l2mGjpmGK/mFgUncmMcFKdMijvV+J3odlDJZSNUu8="
|
|
crossorigin="anonymous"
|
|
></script>
|
|
|
|
<script src="node_modules/monaco-editor/min/vs/loader.js"></script>
|
|
<script src="node_modules/monaco-editor/min/vs/editor/editor.main.nls.js"></script>
|
|
<script src="node_modules/monaco-editor/min/vs/editor/editor.main.js"></script>
|
|
<script data-inline="yes-please" src="./index/index.js"></script>
|
|
</body>
|
|
</html>
|