hasktags
Haskell 用のタグファイルを作ってくれる hasktags なるものが GHC についてるので試してみる。-R オプションが無いのがちょっと不便。vim でジャンプしようとすると、
E432: Tags file not sorted: tags
なんじゃこりゃー
うう…投げやりな感じでソートするようにしてみた。
--- HaskTags.hs.orig 2006-12-20 22:21:59.000000000 +0900 +++ HaskTags.hs 2006-12-20 22:58:25.000000000 +0900 @@ -92,12 +92,16 @@ data Token = Token String Pos deriving Show +sortFoundThings = sortBy comp + where + comp x y = compare (getName x) (getName y) + getName (FoundThing name _) = name -- stuff for dealing with ctags output format writectagsfile :: Handle -> [FileData] -> IO () writectagsfile ctagsfile filedata = do - let things = concat $ map getfoundthings filedata + let things = sortFoundThings $ concat $ map getfoundthings filedata mapM_ (\x -> hPutStrLn ctagsfile $ dumpthing x) things getfoundthings :: FileData -> [FoundThing]
っていうか sort コマンド使えば終わりだよね。そう思ったんだが、出力するファイル名が "tags" 決め打ちだったので結局ソースにあたることに。で、どうせならこっちでソートするようにしてみた。後で -R オプションや -f オプションも付けてみたい。