0

LuaにCtagsを使いたい。

Ctags は Lua をサポートしていないため、次のコマンドを見つけました。

ctags --langdef=MYLUA --langmap=MYLUA:.lua --regex-MYLUA="/^.*\s*function\s*(\w+):(\w+).*$/\2/f/" --regex-MYLUA="/^\s*(\w+)\s*=\s*[0-9]+.*$/\1/e/" --regex-MYLUA="/^.*\s*function\s*(\w+)\.(\w+).*$/\2/f/" --regex-MYLUA="/^.*\s*function\s*(\w+)\s*\(.*$/\1/f/" --regex-MYLUA="/^\s*(\w+)\s*=\s*\{.*$/\1/e/" --regex-MYLUA="/^\s*module\s+\"(\w+)\".*$/\1/m,module/" --regex-MYLUA="/^\s*module\s+\"[a-zA-Z0-9._]+\.(\w+)\".*$/\1/m,module/" --languages=MYLUA --excmd=number -R .

長すぎるか、lua 関数のみの短いサンプルが表示されます。

ctags --langdef=MYLUA --langmap=MYLUA:.lua --regex-MYLUA="/^.*\s*function\s*(\w+)\s*\(.*$/\1/f/" --languages=MYLUA --excmd=number -R .

2 つとも、Windows では問題なく動作します。

OSX ではエラーは発生しませんでしたが、tags ファイルが空です。

PS: OSX のデフォルトの ctags ではなく、Exuberant Ctags v5.8 を使用しました。

ctags のテスト Lua コードを次に示します。

function f1()
end

function c.f2()
end

function c:f3()
end
4

2 に答える 2

1

https://github.com/fishman/ctagsで見つけることができる熱狂的な ctags バージョンには、ネイティブの lua サポートがあるようです。代わりにそれを試しましたか?

于 2014-12-24T17:19:08.370 に答える