As a Tweag Open Source fellow, I aimed to improve and build on the Haskell IDE experience, mainly by contributing to the ghcide and haskell-language-server projects. My main goals were to polish up the overall experience, and integrate hiedb, a product of a Summer of Code project last year, into ghcide. The product of this fellowship was a good selection of ghcide and haskell-language-server featu
sqlsとは sqlsとは、いま私が開発中のSQL用Language Serverです。SQLをエディタで編集するときの支援機能を実装したサーバとなっており、主な特徴は以下です。 Language ServerなのでLSクライアントが存在するエディタであればどんなエディタでも利用可能 SQL編集支援機能 自動補完(テーブル名、カラム名など) 定義参照 SQL実行 複数のRDSMSに対応 MySQL PostgreSQL SQLite3 Language Serverとは Language Server(あるいはLanguage Server Protocol)とは、プログラム言語の開発支援機能をエディタに提供するサーバ、およびその通信内容を規定したプロトコルです。ただしサーバといってもほとんどの場合ローカル内にホスティングしてローカルのエディタと通信をします。 ここでは主題ではないので詳し
これら全ての機能は、テキストエディタと Language Server との間で JSON-RPC を使い、ソースコード本体、コード補完候補、座標情報などを交換する事で実現されています。 温故知新 実は Language Server Protocol は OmniSharp というソースコード補完サーバがベースとなっています。 OmniSharp は元々、Vim で C# のコードを補完する為に作られた Vim プラグインでした。当時は Vim が curl コマンドで通信できる様に REST サーバとして作られていました。それを Microsoft が双方向の通信を行える様に通信仕様を JSON-RPC に定め、汎用化の為に仕様として策定した物が現在の Language Server Protocol です。 Language Server Protocol は Visual Stud
Vim で Prettier かけながら、TypeScript の型チェックを行う(with vim-lsp)VimLSPLanguageServerProtocol この記事は Vim Advent Calendar 2019 向けに書かれました。 もう一つネタがあって記事を書いていたのですが、 なんか微妙な出来だったので Advent Calendar とは別として投稿しようかなと思っています。 はじめに この記事は Vim を使っている vim-lsp を使っている TypeScript を書いている prettier/eslint を連携させたい! な人向けの記事です。 本題 vim-lsp を使って TypeScript の開発をしているならば、 使っている言語サーバは typescript-language-server ではありませんか? よく出来ていますよね。快適です。 し
この記事はVim Advent Calendar 2019の6日目の記事です。 今年の4月にv8.1.1228でtagfuncという機能が追加されました。 こちらは:tagや:tselectなどのタグ系コマンド*1を実行した時、tagsファイルを検索する代わりに呼ばれる関数を設定するためのオプションです。 設定する関数の形式としては次のようなものです。 " pattern: タグ検索中に使用されたタグ識別子 " flags: 関数の挙動を制御するためのフラグのリスト " 'c' -> ノーマルモードのコマンドで呼び出された " 'i' -> インサートモードのタグ補完で呼び出された " info: 以下の情報を持つ辞書 " { " 'buf_ffname': 'フルファイル名', " 'user_data': 'カスタムデータ文字列', " } function! MyTagFunc(pa
wz1000 - 2019-06-26 When GHC compiles your programs, it has to work out a bunch of information - it figures out where stuff is defined, assigns types to expressions, solves constraints and so on. However, all this information is not easily accessible to you after GHC is finished. To get your hands on this, you need to set up a GHC environment, and tediously use the GHC API to extract whatever info
現在は設定ファイルを読み込む仕様に変更しました。詳細はリポジトリの README.md を参照下さい。 Language Server はとても便利なので最近ではコーディングの時は常に Language Server を有効にしているけど、全く要望が無い訳ではないです。 好みの Lint でコードをチェックしたい 特定言語の Language Server が無い そもそも編集中のファイルがソースコードではない 例えば Vim script には現状、Language Server がありません。これは言語の特性上、パースし辛らかったり、型情報が全くないので補完候補を作り出せない等の理由もあります。でも補完よりもまず Language Server の Diagnostic が欲しいと思う訳です。 そこで、どんな言語であろうとも Lint ツールが grep と同様の形式で結果を出力してく
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く