nvim-treesitterでどこに何がインストールされているか確認するためにこの辺りを見る。 TSUninsallでアンインストールされないときとかparserの位置を見てreviesionを捨てる。
nvim_get_runtime_file('queries/your_lang_name/*.scm', v:true)
lua vim.print(vim.api.nvim_get_runtime_file('parser', true))
# なぜかわずかな違いで実行速度が倍違う | |
この記事では、`old Makefile` と `new Makefile` で生成されたバイナリの実行速度における200%の差について考察します。二つのMakefileにはわずかな違いしかないにも関わらず、最終的に生成される実行ファイルの性能が大きく異なる理由を探ることは、コンパイルオプションやビルドプロセスがパフォーマンスに与える影響について深く考える良い機会です。 | |
## old Makefile の内容と問題点 | |
まず、`old Makefile`を見てみましょう。 | |
```makefile | |
CFLAGS=-O3 -march=native -mwindows -Wall -Wextra -Werror -flto -fno-exceptions |
-- 測定回数 | |
local iterations = 100000 | |
-- ヘルパー関数で時間を計測 | |
local function measure_time(fn) | |
local start = vim.uv.hrtime() | |
for _ = 1, iterations do | |
fn() | |
end | |
local duration = vim.uv.hrtime() - start |
nvim-treesitterでどこに何がインストールされているか確認するためにこの辺りを見る。 TSUninsallでアンインストールされないときとかparserの位置を見てreviesionを捨てる。
nvim_get_runtime_file('queries/your_lang_name/*.scm', v:true)
lua vim.print(vim.api.nvim_get_runtime_file('parser', true))
//FindChangeByList.jsx | |
//An InDesign CS6 JavaScript | |
/* | |
@@@BUILDINFO@@@ "FindChangeByList.jsx" 3.0.0 15 December 2009 | |
Mod by senki on 2015-06-29 | |
- added dialog with list of files under FindChangeSupport | |
- and choose between. default is the first | |
*/ | |
//Loads a series of tab-delimited strings from a text file, then performs a series | |
//of find/change operations based on the strings read from the file. |
#include <stdio.h> | |
#include <windows.h> | |
#define IME_CONTROL 0x283 | |
#define IMC_GETOPENSTATUS 0x5 | |
#define IMC_SETOPENSTATUS 0x6 | |
int main(int argc, char** argv) { | |
HWND fg = GetForegroundWindow(); |
WSL(でかつWSLgが有効)だとXDG_RUNTIME_DIRがWSLg用の1000で固定されるが、そのディレクトリがそもそも存在しないっぽい。
-- 測定回数 | |
local iterations = 100000 | |
-- ヘルパー関数で時間を計測 | |
local function measure_time(fn) | |
local start = vim.uv.hrtime() | |
for _ = 1, iterations do | |
fn() | |
end | |
local duration = vim.uv.hrtime() - start |
nvimのheadで検証中(v0.10系)
neovim、setlocal
相当のことをnvim_set_option_value
やりたいとき、
buffer localな設定ができるnvim_set_option_value(OPTION, VALUE, { buf = 0 })
を使おうと考えることがあるかもしれない。
ただ、nvim_set_option_value(..., ..., { buf = 0 })
はsetlocal
な動作をするわけではない。
{ buf = 0 }
はbuffer localなセットをするだけで、例えば次のコードはエラーになる。
||mixi.net$third-party | |
||mixi.jp$third-party | |
||blogroll.livedoor.net^ | |
||parts.blog.livedoor.jp^$script | |
||line-website.com/social-plugins^ |