An IDE built on top of a canvas, Haystack takes care of the tedious and confusing parts of coding for you
Text editors can be an interesting challenge to program. The types of problems that text editors need to solve can range from trivial to mind-bogglingly difficult. Recently, I have been on something of a spiritual journey to rework some internal data structures in an editor I have been building, specifically the most fundamental data structure to any text editor: the text. Table of Contents Resour
テキストエディタのデータ構造 Gap method Piece Table method Piece Table の構造 Piece Table の実装 Piece Table のメソッド まとめ テキストエディタのデータ構造 テキストエディタで採用されているデータ構造にはいろいろあります。 こちらの論文 Data Structures for Text Sequences では各種データ構造について比較検討されています。 多くは、Gap method や Piece table method をベースにしたものが多いのではないでしょうか(図で言う最下部の中心の丸印に当たります)。最近では Rope なども有名ですね。 Gap method Gap method では、現在のカーソル位置で、テキストバッファを2つに分割し Gap を間に挟み、カーソル位置に対する編集(テキスト追加/削除)を
The 100 FPS editor. Cursor movement and edits render under 10ms. Everything else happens asynchronously (syntax parsing and highlighting, IO to/from disk, file pickers). Buffers are backed by a fast B-tree implementation of a rope (via cessen's ropey). Edit tree history, aka. undo/redo tree Uses Tree-sitter for generating a parse tree from your code. This AST is used for syntax highlighting and on
このほど、「antirez / kilo|GitHub」において、Salvatore Sanfilippo氏によってC言語を使い1000行以下のソースコードで開発されたエディタ「Kilo」が公開された。2条項BSDライセンスの下でオープンソース・ソフトウェアとして公開されている。ほかのライブラリに依存することなく開発されており、作業を始めてから数時間ほどで開発されたと説明がある。C言語による学習素材やエディタ開発のベースソースコードとして利用できる。 Kiloはclocを使ったカウントでコメントや空行を除いた行数が956行とされており、1000行を下回っている。開発にはcursesライブラリといった基本的なライブラリも使われておらず、VT100の基本的なエスケープシーケンスを使って開発されている。エディタにおける保存や終了といった操作には次のキーが割り当てられている。 Ctrl-S 保存
A general purpose, fast and lightweight editor with a keyboard-centric minimalistic user interface. Built on LuaJIT and fully programmable using Lua or Moonscript. What is it? Howl is a general purpose editor that aims to be both lightweight and fully customizable. It is built on top of the very fast LuaJIT runtime, and can be extended in either Lua or Moonscript. It has a minimalistic UI driven m
大量にあるファイルのファイル名を一括で変更する場合、どうしても GUI での操作であったりマッチパターンを書くのが面倒だったりしましたが、massren を使えば誰でも簡単にファイル名の一括置換が出来る様になります。 laurent22/massren - GitHub massren - Easily rename multiple files using your text editor https://github.com/laurent22/massren お気に入りのテキストエディタを使って、好きな様にファイル名を変更出来ます。サポートしているOSは Windows, Linux, OSX です。中身は golang で書かれています。 それぞれバイナリが用意されているので自分でビルドする必要はありません。Linux と OSX の人はリンク先にある手順を、Windows の人は
Notepasはマルチプラットフォームで使えるプログラマ向けテキストエディタです。 テキストエディタの基本は軽量に、高速に動作するのが大事です。また、マルチプラットフォームで動作すればOSを切り替えてもすぐに新しい環境でのコーディングも行えるようになるでしょう。今回はそんなエディタの一つ、Notepasを紹介します。 メイン画面です。 日本語を入力。左右はどこからでも好きな場所から書き始められます。 選択設定。 コード入力。 コードを書く際の細かい設定もできます(1行あたりの文字数など)。 ハイライトをJavaScriptに指定しました。 検索、置換もこんな感じで左ペインで行います。 NotepasはWindows/Mac OSX/Linuxなど様々な環境で動作します。Lazarusで作られているのもユニークです。複数人での同時編集も行えます。コードの折りたたみがあり、プログラマーにとって
CodeAssistorはWindows/Mac OSX用のオープンソース・ソフトウェア。開発用のテキストエディタには何を使っているだろうか。筆者はかれこれ8年以上Emacs(またはその系統)しか使っていない。手に馴染むと他に切り替えることは考えられなくなる。 シンプルなプログラマー向けエディタ VimやEmacsといったエディタは優秀ながらキーバインドが特殊で取っつきが悪いイメージがある。やはり標準的なキーバインドがのぞめる方が良いという人も多いだろう。そこでお勧めしたいのがCodeAssistorだ。 CodeAssistorの特徴はとにかく軽量であること。機能も限られており、テキストの編集以外にこれといった機能がない。ただしプログラマー向けなので、各種プログラミング言語に対応したハイライト処理はある。後は関数やクラスなどでコードを折りたたんで表示する機能もある。 コードの折りたたみ機
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く