diff options
Diffstat (limited to 'vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html')
| -rw-r--r-- | vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html b/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html index 785aae33..c5724274 100644 --- a/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html +++ b/vhosts/blog/public/posts/2024-07-19/reparojson-fix-only-json-formatter/index.html @@ -66,18 +66,18 @@ NOTE </div> <div class="admonition-content"> - この記事は <a href="https://vim-jp.org/ekiden/" rel="noreferrer" target="_blank">Vim 駅伝</a> #218 の記事です。 + この記事は <a href="https://vim-jp.org/ekiden/" rel="noreferrer" target="_blank">Vim 駅伝</a> #218 の記事です。 </div> </div> <section id="section--intro"> <h2><a href="#section--intro">欲しかったもの</a></h2> <p> - Vim で JSON を編集しているときに、文法エラー (末尾カンマやカンマの不足) のみを修正して一切の整形をおこなわないプラグインが欲しかった。 整形も同時におこなうプラグインは見つかっただけでも多数あったのだが、整形しないものは見つけられなかったので自作することにした。 + Vim で JSON を編集しているときに、文法エラー (末尾カンマやカンマの不足) のみを修正して一切の整形をおこなわないプラグインが欲しかった。整形も同時におこなうプラグインは見つかっただけでも多数あったのだが、整形しないものは見つけられなかったので自作することにした。 </p> <p> - なお、作成したツール自体は単体の CLI として動作し、Vim とは無関係に使うことができる。 この記事では Neovim と組み合わせる場合の設定を紹介するが、およそ任意のエディタで使えるだろう。 + なお、作成したツール自体は単体の CLI として動作し、Vim とは無関係に使うことができる。この記事では Neovim と組み合わせる場合の設定を紹介するが、およそ任意のエディタで使えるだろう。 </p> </section> @@ -88,7 +88,7 @@ </p> <p> - 次のように動作する。 + 次のように動作する。 </p> <pre class="highlight"><code>$ echo '[ 1 2 ]' | reparojson @@ -126,18 +126,18 @@ $ echo '{ "foo": 1, "bar": 2, }' | reparojson </ul> <p> - 他にも自動で直せそうなエラーはいくつか思いつくが (オブジェクトのキーがクォートされていない等)、私自身があまり困っていないので優先度は低い。 + 他にも自動で直せそうなエラーはいくつか思いつくが (オブジェクトのキーがクォートされていない等)、私自身があまり困っていないので優先度は低い。 </p> </section> <section id="section--itegration-with-neovim"> <h2><a href="#section--itegration-with-neovim">Neovim との連携</a></h2> <p> - Neovim で JSON ファイルを保存したときに、上記のツールを自動で走らせるように設定する。 + Neovim で JSON ファイルを保存したときに、上記のツールを自動で走らせるように設定する。 </p> <p> - ここでは、<a href="https://github.com/neovim/nvim-lspconfig" rel="noreferrer" target="_blank">nvim-lspconfig</a> と <a href="https://github.com/mattn/efm-langserver" rel="noreferrer" target="_blank">efm-langserver</a> を用いた設定例を紹介する。 + ここでは、<a href="https://github.com/neovim/nvim-lspconfig" rel="noreferrer" target="_blank">nvim-lspconfig</a> と <a href="https://github.com/mattn/efm-langserver" rel="noreferrer" target="_blank">efm-langserver</a> を用いた設定例を紹介する。 </p> <pre class="highlight" language="lua"><code class="highlight"><span class="hljs-keyword">local</span> lspconfig = <span class="hljs-built_in">require</span>(<span class="hljs-string">'lspconfig'</span>) @@ -169,14 +169,14 @@ vim.api.nvim_create_autocmd(<span class="hljs-string">'LspAttach'</spa })</code></pre> <p> - ほとんどは nvim-lspconfig と efm-langserver を使う際のボイラープレートだが、<code>formatCommand</code> で <code>-q</code> フラグを指定していることに注意してほしい。 このツールは、デフォルトでは JSON が修正された場合 exit code 1 で終了する。 これは、入力が最初から正しかった場合と修正して正しくなった場合を区別するためだが、異常終了してしまうと置き換えが発生しない。 そのため、<code>-q</code> フラグを指定して、修正されたときも exit code 0 で終了するようにしている。 + ほとんどは nvim-lspconfig と efm-langserver を使う際のボイラープレートだが、<code>formatCommand</code> で <code>-q</code> フラグを指定していることに注意してほしい。このツールは、デフォルトでは JSON が修正された場合 exit code 1 で終了する。これは、入力が最初から正しかった場合と修正して正しくなった場合を区別するためだが、異常終了してしまうと置き換えが発生しない。そのため、<code>-q</code> フラグを指定して、修正されたときも exit code 0 で終了するようにしている。 </p> </section> <section id="section--outro"> <h2><a href="#section--outro">おわりに</a></h2> <p> - このツールが威力を発揮するのは、行の入れ換え時である。次のような JSON があり、 + このツールが威力を発揮するのは、行の入れ換え時である。次のような JSON があり、 </p> <pre class="highlight" language="json"><code class="highlight"><span class="hljs-punctuation">{</span> @@ -185,7 +185,7 @@ vim.api.nvim_create_autocmd(<span class="hljs-string">'LspAttach'</spa <span class="hljs-punctuation">}</span></code></pre> <p> - 2行目と3行目を入れ換えて以下のように編集した。 + 2行目と3行目を入れ換えて以下のように編集した。 </p> <pre class="highlight" language="json"><code class="highlight"><span class="hljs-punctuation">{</span> @@ -194,7 +194,7 @@ vim.api.nvim_create_autocmd(<span class="hljs-string">'LspAttach'</spa <span class="hljs-punctuation">}</span></code></pre> <p> - これは不正な JSON だが、このツールを通せば次のようになる。 + これは不正な JSON だが、このツールを通せば次のようになる。 </p> <pre class="highlight" language="json"><code class="highlight"><span class="hljs-punctuation">{</span> @@ -203,7 +203,7 @@ vim.api.nvim_create_autocmd(<span class="hljs-string">'LspAttach'</spa <span class="hljs-punctuation">}</span></code></pre> <p> - もちろん、このような操作を文法を壊さずにおこなう Vim プラグインは存在する。 しかし、単なる行の入れ換えであれば <code>ddp</code> の3ストロークでおこなうことができ、専用のキーバインドを覚える必要もない。 このツールを用いることで、より Vimmer-friendly な JSON 編集が可能となる。 + もちろん、このような操作を文法を壊さずにおこなう Vim プラグインは存在する。しかし、単なる行の入れ換えであれば <code>ddp</code> の3ストロークでおこなうことができ、専用のキーバインドを覚える必要もない。このツールを用いることで、より Vimmer-friendly な JSON 編集が可能となる。 </p> </section> </div> |
