Scintilla

LSPのテキスト編集と同期についてもメモ

自作のLSP(Language Server Protocol)クライアントを作って遊んでいる。 github.com 補完とか整形とか幾らか動いていて、それなりに使えているのだが、 普段使っている言語以外のLSPサーバを動かすと、 途端に怪しい挙動に遭遇する。 今回はテキストの編集(t…

scintillaのtermbox実装

テキストエディタ作成用のライブラリScintillaのcurses向け実装であるScintermを使っている。 とても良くできていて、問題なく使えているが、色の指定については制約が強い。 16色しか使えないのは良いとして、色の設定が面倒だった。 masahino123.hatenablo…

Scintilla cursesでの色指定

Scintillaのcurses向け実装の色についてのメモ。 何度も調べては忘れるを繰り返すので、いい加減書いておく。 www.scintilla.org Scintillaはテキストエディタ用のライブラリで、gtkやwindows向けのライブラリがある。 ncurses用は、以前は別に開発されてい…

Scintillaとmrubyでテキストエディタを作る(7) : GTK版の更新

Scintillaを使ったテキストエディタのその後。 masahino123.hatenablog.com mruby-gtk3を使うのを断念して、GTK関係の処理はC言語で書くようにした。 せっかくなので、curses版とは少し見た目を変えてみた。 テキストエディタを作っていると、いくらでも作り…

ScintillaのAnnotationを試す

ScintillaのAnnotationを試してみる。 公式ドキュメントの例では、コンパイルエラーやワーニングを表示している。 Scintermでは、メッセージに枠は付かないので、背景色を変えて 目立たせないと、編集ドキュメントと区別が付かなくなってしまう。

Scintillaのsyntax highlightingの調査

Scintillaは多数のプログラミング言語に対応していて、syntax highlighting機能もある。 編集中のファイルを言語と対応付けるには、SCI_SETLEXERLANGUAGE(<unused>, const char *name) というコマンドが使える。 nameには言語名を入れれば良い。 syntax highlighting</unused>…

Scintillaとmrubyでテキストエディタを作る(5) : 単純な検索と置換機能

ScintillaとmrubyでEmacsライクなテキストエディタ(mrbmacs)を作成している。 Scintillaにはテキストエディタに必要な様々な機能が用意されているので、自作エディタになにかしらの機能を追加する手順は、 実装したい機能を考える Scintillaのドキュメントか…

Scintillaとmrubyでテキストエディタを作る(4) : GTK版

curses版 のエディタは、そこそこ動くところまで作れたので、他のUIのものも用意できないか検討してみた。 そもそも、ScintillaはWindows、Mac OS X、GTKに対応しているので、まずはその辺りから。 一番簡単そうな、GTKから着手。 curses版(mruby-bin-mrbmac…

Scintillaとmrubyでテキストエディタを作る(3) : mruby-cli化

前回のさらに続き。 ビルド方法の検討 作成中のエディタは Scintillaやcurses等のライブラリに依存しまくっているので、ビルドが面倒であった。 また、複数のプラットフォームで利用できないか、検討した。 当初は、buildスクリプトを頑張って用意していたが…

Scintillaとmrubyでテキストエディタを作る(2)

前回 の続き。 用意するmrbgem mruby-curses まずはこれが必要だろうと考えた。検討した段階でgithubには存在したので、それを利用した。 その後、幾つか欲しい機能が出てきたので、一旦fork。 GitHub - masahino/mruby-curses 後から考えると、scinterm越し…

Scintillaとmrubyでテキストエディタを作る

しばらく前から、Scintilla (http://www.scintilla.org) というテキスト編集用のライブラリとmrubyを使ってテキストエディタを作成している。 検討結果の備忘録として、色々と記録しておきたいと思う。 概要 ScintillaはWin32、GTK+、OS Xに対応しているが、…