豆腐メンタルは崩れない

小説家ワナビ視点で、主に執筆環境について書きます。

FoldingText 2.0で不具合修正と機能向上が激しい

https://itunes.apple.com/jp/app/foldingtext/id540003654?mt=12&uo=4&at=10l8JW&ct=hatenablog

従来の不具合がほぼ修正されたため、修正点をまとめる。

比較対象は、App Store最新版のVer1.2。

追記

  • 2014-05-18 19:41:一度build 728準拠で公開したが、build 729でGoogle日本語入力のFixが入ったため記事修正した。死角が見当たらない
  • 2014-05-31 21:28:これが最終版らしいbuild 732準拠で追記・修正。また日本語変換の不具合が……
  • 2.0正式リリース後に公開された2.0.1で、変換前のテキストが横にずれる不具合は部分的に解消された。

参考

修正、機能向上

インラインシンタックス挿入時の不具合を修正

日本語入力時のスマートハイライト不具合を修正

  • テキストがシンタックス扱いでハイライトされる不具合を修正
    • ****入力時、**を修飾したようにハイライトされたり
    • 見出しの直後が薄くなったり

Google日本語入力のサジェスト表示不具合を修正

  • カーソル位置から離れた場所に表示されてしまっていた

日本語入力時のタイプライタースクロールのガタつきを修正

  • カーソル行が画面外に吹き飛ぶくらいガタついていた

リスト作成補助機能がアウトラインプロセッサ的にアップグレードされた

  • Focusでカーソル行とその親子項目のみを表示できる
  • 行単位のMoveとBranch(枝)単位のMoveが分離され、より複雑な操作が可能になった
わかりにくいので具体例

例えば以下のようなリストブロックがあるとする。

- 親項目1
    - 子項目1a
    - 子項目1b
- 親項目2
    - 子項目2a
    - 子項目2b

親項目1をMove Branch Down(⌃⌥↓)、または親項目2をMove Branch Up(⌃⌥↑)した場合、以下のようになる。

- 親項目2
    - 子項目2a
    - 子項目2b
- 親項目1
    - 子項目1a
    - 子項目1b

子項目2aのみを親項目1の子にしたい場合、親項目2をMove Down(⌥⌘])、または子項目2aをMove Up(⌥⌘[)すればいい。

- 親項目1
    - 子項目1a
    - 子項目1b
    - 子項目2a
- 親項目2
    - 子項目2b

Foldの解除が非常に楽になった

  • 「"…" をクリックして解除」を追加
  • 「View > Show All (Command-Shift-A)」で、即時に全てのfoldを解除
    • FocusによるものもFoldによるものも含む
    • 左上の三角形をクリックする必要なし、キーボード操作のみでOK!
    • これが欲しかった!

Critique Markup対応

  • 参考:CriticMarkup
    • Addition {++ ++}
      • 追記
    • Deletion {-- --}
      • 削除
    • Substitution {~~ ~> ~~}
      • 置き換え
    • Comment {>> <<}
      • コメント
    • Highlight {== ==}{>> <<}
      • ハイライト
  • ノートが書きやすくなった

テーマの編集(フォントの変更など)がしやすくなった

  • 「File > Open Application Folder」で「~/Library/Application Support/FoldingText」を開く
  • その中のuser.lessを編集する
  • 例えば以下のように記述するとフォントを変更できる

    @fontFamily: "MigMix 1M";

和文フォントでも正常にスマートハイライトされる

微妙な仕様変更

「タブキーインデント」「構造レベル変更」関係

  • 1.2では、タブキーでパラグラフ/リスト/見出し/引用ブロックのインデント、またはレベル変更が可能だった
  • 2.0では、タブキーは基本的にタブ記号を挿入する
    • パラグラフ/リスト/引用ブロックでは、行頭/シンタックス直後、またはテキスト選択時のみインデントする(タブキーインデント)
      • ⇧Tabでの逆インデント、複数行インデントも可能
      • 行頭/リストシンタックス直後以外でインデントするには、Move Left/Right(⌘[/⌘])を使う
    • 見出しレベルを設定/変更する方法
      • Move Branch Left/Right(⌃⌥←/⌃⌥→
        • 内包する下位見出しもまとめて変更される
      • Heading 1~6(⌘1~⌘6
      • リスト行や引用ブロック行も、見出し行に変換する

Fold/Focus関係

  • Focus Outの削除
    • Show Allに変更
  • 「By Level」foldの導入
    • 見出しセクションで有効
    • 従来のFold(⌘/)では、カーソル行のアイテムの子アイテム全てをFoldする
      • 例えば、見出しレベル1(#)の行で実行した場合、下の見出しレベル2〜6(########)のセクションは全てFoldされる
    • Expand / Collapse By Level(⌥⌘→/⌥⌘←)では、カーソル行のアイテムの子アイテムのうち、最も遠い子から順にFold/展開する
      • 例えば、見出しレベル2〜3のセクションを内包する見出しレベル1セクションで「Collapse By Level」を実行した場合、まずレベル3セクションが、次いでレベル2セクションがFoldされる
      • インデントされたリストブロック/パラグラフが内包される場合、リストブロック/パラグラフのインデントレベルの高い行からFoldされる

不具合/奇妙な仕様

継続して発生するもの

  • 空行でボールドのシンタックス****を挿入した場合、水平線と解釈され、自動的にセンタリングされる
    • うざい
  • リストの半角スペース×4によるネストをスマートハイライトできない
    • Soft Tabsできろとは言わないが理解はしてくれ

新たに発生したもの

  • 日本語変換時に変換前のテキストが激しく横にずれる(build 732で確認)
    • 変換中のテキストがWrapされると、タイプすることに右にずれていく
    • Google日本語入力およびことえりで確認
    • 何個か前のbluidではなかったはずなのに……
    • 2.0正式リリース後に公開された2.0.1で、部分的に解消された。
    • 入力中の移動は発生しない。ただし、変換前のテキストは、全て『2行目(折り返し先の行)』に表示される。
    • フォーラムで報告済み。
    • ダウンロードはこちら。FoldingText 2.0.2 Dev (735) - FoldingText Support Forums

削除された機能

  • Export as HTML
    • そういうアプリ(Markdownエディタ)じゃねえからこれ、という話はある

まとめ