|
ご指摘ありがとうございます。
ctagsの出力形式で幾つかパターンがあって、そうなるケースが確認できました。
ずっと昔にあって試していた手元のものでは--format=1と--format=2という出力形式があるようでした。
--format=1だと、同じキーワードの場合、2つめ以降は行番号の表現でうまくいきました。
--format=2だと、ご指摘の通りになりました。
こういう場合もできないか試してみます。
最近幾つかのダイアログなどで絞り込みできるようにしていますが、ダイレクトタグジャンプ飛び先指定の結果内での絞り込みはネタにありつつしていませんでした。
これもできないか改めて検討します。
----
ちなみにV9.19以降のLSPのマクロを使うと、cppの場合はLLVM/clangを使うとLSPサーバーになったりするようです。
導入が面倒なのですが、LLVM/clangをインストールしてパスを通しておくと、clangd.exeという実行ファイルがオプションなしでそのまんまLSPサーバーのようです。
このマクロの修正も少し必要でした。
https://hide.maruo.co.jp/lib/macro/lspclientsample002.html
setting.iniは以下のような感じにします。
[.cpp]
@="CLANG"
[CLANG]
type="lsp"
transport="stdio"
command="clangd.exe"
dir=""
client.jsの調整も必要で、opened: function ()のところの、
textDocument: { uri: fileuri, version: hidemaru.getUpdateCount(), text: null }
を、
textDocument: { uri: fileuri, version: hidemaru.getUpdateCount(), languageId:"", text: null }
とすると一応できました。
マクロ実行して解析完了後に、手動でまたマクロ実行すると、マクロのメニューから同名の各"Min"にジャンプできたりしました。
サンプルだとうまくいったりしますが、規模が大きくなったりコンパイルオプションとか考えだすと非常にややこしくて、CPU使い続けるし、厳密さが逆に邪魔になったりするので、やっぱりtagsファイルのほうが軽快でいいかもしれません。
|
|