Snow Flower Text 概要

Snow Flower Text は 誰でも簡単に使用することが出来るようにデザインされたテキストエディタです。 文書の執筆やプログラミングなど多くのシーンで利用できます。 特に Web プラットフォームと親和性が高くユーザーが Web で 情報を発信することを力強くサポートします。 また、巨大なテキストデータファイルも素早く開き安定して編集することが出来ます。

1. 高度な編集

Snow Flower Text では以下のようなテキストエディタとして高度な編集操作をサポートしています。

マルチカーソル

Snow Flower Text はマルチカーソルをサポートしており高度な編集ができます。 Command+マウスクリック でカーソルを追加することができます。 ESC キーでマルチカーソルを解除できます。 その他、Alt+Control+Alt+Control+ でもカーソルの追加ができます。

自由度の高いテキスト選択

通常のテキスト選択に加えて、テキストを縦に選択できる「矩形選択」をサポートしています。 矩形選択は Alt キーを押しながらマウスで矩形範囲を選択します。

豊富なキーボードショートカット

高い生産性のためコードを書いている途中でもキーボード上に手を置き続けられるように、Snow Flower Text には多くのキーボードショートカットが用意されています。 これは ショートカットの一覧 で確認できます。

巨大なファイルの編集

Snow Flower Text は巨大なテキスト形式のデータファイルの編集が行えるように設計されています。 50MB程度であれば問題なく編集が行えます。

2. 文書作成

Snow Flower Text は軽量マークアップによる文書作成をサポートしています。 一般的なワードプロセッサの機能も含みます。従来のワードプロセッサにはない効率的な編集が可能になっています。 軽量マークアップの記法は Markdown と AsciiDoc から選ぶことができます。Markdown は読みやすさ、AsciiDocは表現力の高さが相互に比較した場合の特徴となります。AsciiDoc と Markdown の記法の違いはありますが、統一されたユーザインタフェースで編集することができます。

軽量マークアップ言語(lightweight markup language)は HTMLのマークアップ言語の可読性の悪さと学習コストの高さを補うために設計された簡潔なマークアップ言語です。多くの軽量マークアップ言語がありますが、Markdown、AsciiDoc、Wikitext (Wiki) が広く使われています。

文書作成を軽量マークアップで作成することで次のことが可能になります。

  • テキストはバイナリのファイル形式と比較してバージョン管理システムとの親和性が圧倒的に高くなります。

  • 一目でどこが変更されたか差分が分かりやすくなり、何が変更されたか簡単に判断することが出来ます。軽量マークアップはプレーンテキストであるため変更箇所の比較が容易で変更箇所の追跡可能性が向上します。

さらに Snow Flower Text の AsciiDoc 拡張によって多くの図表をテキスト形式で記述することで次のことが可能になります。

  • 文書に直接図表を埋め込むことで文書の構成ファイル数が少なくなりファイル管理が簡単になります。

  • テキスト検索で図表も含めて検索対象になります。情報の発見可能性が向上します。

  • バージョン管理ツールと組み合わせて使う場合に図表の変更差分をテキストで確認できます。

  • バイナリデータの図表をバージョン管理するよりも圧倒的に少ないデータサイズとなります。サイズの問題により図表データのバージョン管理を諦めずに済みます。バージョン管理対象のファイルサイズが軽減します。

2.1. リアルタイム・プレビュー

一般的に文書作成では下記のアクティビティ図が示すように最終的な完成文書を仕上げるまでにプレビューとバリデーションを何度も繰り返すことで客観的な品質を上げていきます。 Snow Flower Text にはリアルタイム・プレビュー機能が備わっています。 文書作成で何度も繰り返すアクティビティをアプリケーションを切り替えずにエディタ上で確認できます。

テキスト編集のアクティビティ

リアルタイム・プレビューによってユーザは軽量マークアップの編集のレンダリング結果を確認しながら編集を進めることができます。プレビューとバリデーションは編集の背後で高速に行われます。ユーザが文書作成に集中力を維持したままで継続的に品質を向上するようにエディタが支援します。ユーザはコンテキストスイッチなしに文書作成に集中できます。

次のシンタックスのモードが選択されている場合にプレビューが表示されます。

  • AsciiDoc

  • Markdown

  • GraphViz Dot

  • PlantUML

リアルタイムプレビュー機能は他のアプリケーションに依存していません。Snow Flower Text をインストールしただけで利用可能です。

2.2. デザイン支援

Snow Flower Text では文書を文書構造とデザインは明確に分離されます。 デザイン作業はエディターによって自動化され、ユーザは文書の構造を考えることに集中することができます。

Snow Flower Text には以下のデザイン支援機能が備わっています。

自動レイアウト

レイアウトルールを指示するだけで最適なレイアウトが自動で行われます。レイアウトは文書作成においてテキストや図表の情報を分かりやすくする為に必要ですが、手作業で行うと調整に時間のかかる作業でもあります。自動レウアウトによって編集者はレイアウト作業から解放されます。

高品質なスタイル

スタイルは予め用意された高品質なスタイルを使用します。これによって、出版品質の文書を簡単に作ることが出来ます。

文書の構造とデザインの分離

2.3. パブリッシング

Snow Flower Text は軽量マークアップ言語をシングル・ソースとするシングルソース・パブリッシングをサポートしています。 AsciiDoc と MarkDown で文書を書くことで複数の文書ファイル形式にエクスポート出来ます。 ドキュメントを最小限の労力で複数の異なるファイルフォーマットに変換することができます。

シングルソース・パブリッシング
シングルソース・パブリッシングはソフトウェア工学のDRY(“don’t repeat yourself”)原則に合致するドキュメンテーション・フレームワークです。 DRY原則は繰り返しパターンを減らすことを目的としており。すべての知識はシステム内で単一の明確で信頼できる表現を持つべきであると考えられます。

通常、複数のフォーマットを作成するドキュメンテーション作業には、それぞれ異なる専門スキルが必要になります。また、改訂の際に一部のフォーマットが更新されない一貫性の問題が発生しやすくなります。シングルソース化、すなわち一つの文書フォーマットから複数のフォーマットに自動生成処理によってこれらの問題を解決します。

シングルソース・パブリッシングでは次のことが可能になります。

  • 複数の文書ファイルフォーマットごとの専門的な知識が不要になる。

  • 内容の一貫性の問題が発生しなくなる。

Snow Flower Text では 単一の明確で信頼できる表現として、AsciiDoc と MarkDown 軽量マークアップ言語を位置付けています。

AsciiDoc のエクスポート
MarkDown のエクスポート

2.4. 多彩な表現

Snow Flower Text の AsciiDoc モードでは文書中の図をプレーンテキストで記述できる PlantUMLや GraphViz シンタックスのテキストを直接埋め込むことが出来ます。

ワープロソフトのような従来のアプローチでは文書に図表を埋め込む場合のような他の作図専用のアプリケーションを起動してファイルを別に作る必要がなくなります。文書作成と作図を同一の編集アプリケーションで行うことが出来ます。編集作業中のコンテキストスイッチが少なくなり文書作成に集中できます。

AsciiDoc

AsciiDoc は拡張性の高いプレーンテキストベースの文書作成フォーマットです。 AsciiDoc は 効率的な文書作成と管理を可能にします。 Snow Flower Text では AsciiDoc の標準サポート機能に加えて、UML、グラフ、数式の埋め込み等をサポートしています。

AsciiDoc に埋め込みできる情報
Markdown

Markdown はそのままでの可読性を重視する文書作成フォーマットです。CommonMark で標準化が進められています。Snow Flower Text ではCommonMarkの互換機能に加えて、加えてGithub等のサイトで一般的に使われているものも含む多くの拡張が利用できます。

2.5. HiDPI サポート

テキストやUML、グラフ、アイコンはベクトル形式で扱われます。 どんな表示サイズに拡大しても縮小しても鮮明にレンダリングされます。 この特徴はプレビューだけでなく、エクスポートしたPDFや、HTML にも引き継がれます。

ただし、ベクトルデータではない写真などの画像を埋め込む場合には、鮮明さを維持するにはある程度大きな解像度が必要になります。

3. プログラミング

Snow Flower Text はプログラミングを支援機能をサポートしています。

3.1. シンタックス・ハイライト

シンタックスハイライトはソースコードの一部分をその分類ごとに異なる色で表示することでコードの可読性を向上させ文脈をより明瞭にします。 この機能によってプログラミング言語やマークアップ言語のような構造化された言語で、その構造や構文上のエラーが視覚的に区別しやすくなりその記述が容易となります。 またプログラマがプログラム中の誤りを見つける助けにもなります。

括弧の対応を示す機能もありカーソル位置の括弧のペアを特別な色で表示することで正しく対応しているかの確認が容易になります。

テキストエディタで Plain テキスト以外の文法を選択することで編集中のソースコードのシンタックスハイライトが有効になります。

3.2. シンタックス・バリデーション

Snow Flower Text にはシンタックス・バリデーション機能が備わっています。シンタックス・バリデーションが編集と瞬時に行われ構文の警告箇所がエディタ上で分かりやすく報告します。 テキストエディタで以下の文法を選択することでシンタックス・バリデーションが有効になります。

  • Programing

    • JavaScript

    • Lua

  • Query

    • XQuery

  • Document

    • HTML

  • Style

    • CSS

  • Data

    • JSON

    • SVG

    • XML

3.3. プリティー・フォーマット

フォーマットでソースコードの一括整形が可能となります。 テキストエディタで以下の文法を選択することでフォーマット操作が使用可能になります。

  • Programming

    • JavaScript

  • Query

    • SQL

  • Document

    • HTML

    • Markdown

  • Stylesheet

    • CSS

  • Data

    • JSON

    • XML

ソースコードを開いている時に、メニュー > 編集 > 整形 をクリックするとソースコードを整形することができます。 Command+Shift+F キーのショートカットでも動作します。

3.4. オートコンプリート

オートコンプリートはテキストの入力中に次の字句を推測して候補を提示する機能です。 テキストエディタで以下の文法を選択することで構文によるオートコンプリートが有効になります。

  • Programming

    • C

    • C#

    • C++

    • Clojure

    • Cobol

    • CoffeeScript

    • Common Lisp

    • D

    • Dart

    • Drools

    • Erlang

    • Fortran

    • GLSL

    • Go

    • Groovy

    • Haml

    • Haskel

    • JSP

    • Java

    • JavaScript

    • LSL

    • Lua

    • Makefile

    • Ocaml

    • PHP

    • Perl

    • PowerShell

    • Python

    • R

    • Ruby

    • Scala

    • Scheme

    • Slim

    • Swift

    • Tcl

    • UNIX shell

    • VHDL

    • Velocity

    • Verilog

  • Query

    • SQL

    • XQuery

  • Stylesheet

    • CSS

  • Document

    • AsciiDoc

    • HTML

    • Markdown

    • reStructuredText

    • TeX

    • Textile —