「タグファイルから補完」の版間の差分
Snipsnipsnip (トーク | 投稿記録) 細編集の要約なし |
Snipsnipsnip (トーク | 投稿記録) r6 |
||
| 27行目: | 27行目: | ||
<source lang="javascript"> | <source lang="javascript"> | ||
// タグファイルから補完.js | // タグファイルから補完.js r6 | ||
// http://www.haijin-boys.com/wiki/%E3%82%BF%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89%E8%A3%9C%E5%AE%8C | // http://www.haijin-boys.com/wiki/%E3%82%BF%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89%E8%A3%9C%E5%AE%8C | ||
// http://hp.vector.co.jp/authors/VA025040/ctags/ の ctags ctags5.8J2 で動作確認しています | |||
/** 設定 **/ | /** 設定 **/ | ||
// タグファイルの名前 | // タグファイルの名前 | ||
TAGS = ".merytags" | |||
// ctags.exeの名前 | // ctags.exeの名前 | ||
// | // 相対パスの場合はmery本体のあるディレクトリのものを使います | ||
// | // "c:\\bin\\ctags.exe" のように絶対パスも指定できます | ||
CTAGS = "ctags.exe" | |||
// ctagsに与える引数 (初期設定:位置を行番号で記憶(必須)、フォルダを再帰的に処理、関数の引数を記憶) | // ctagsに与える引数 (初期設定:位置を行番号で記憶(必須)、フォルダを再帰的に処理、関数の引数を記憶) | ||
CTAGS_FLAGS = "--excmd=number --recurse --fields=+S" | |||
// 単語の途中で補完する際の挙動 | // 単語の途中で補完する際の挙動 | ||
// trueにするとカーソルの置かれた単語全体から補完 | // trueにするとカーソルの置かれた単語全体から補完 | ||
// falseにするとカーソルより左から補完します | // falseにするとカーソルより左から補完します | ||
WHOLE_WORD = true | |||
// 単語の検索の挙動 | // 単語の検索の挙動 | ||
// trueにすると検索時大文字と小文字を区別しません | // trueにすると検索時大文字と小文字を区別しません | ||
// falseにすると区別します | // falseにすると区別します | ||
CASE_INSENSITIVE = true | |||
// タグを作るフォルダ | |||
// "." にすると、編集中のファイルのあるフォルダでタグを作ります | |||
// ".." などにすると、編集中のファイルの一つ上のフォルダからタグを作ります | |||
DEFAULT_TAGS_DIR = "." | |||
// タグファイルがない場合の挙動 | |||
// trueにするとタグを作成するフォルダを尋ねます | |||
// falseにするとフォルダを尋ねずに無言で作成を始めます | |||
CONFIRM_CREATE_TAGS = false | |||
/** 本体 **/ | /** 本体 **/ | ||
| 94行目: | 106行目: | ||
Shell.CurrentDirectory = dir | Shell.CurrentDirectory = dir | ||
window.Status = 'タグファイルを作成しています お待ちください' | window.Status = 'タグファイルを作成しています お待ちください' | ||
Shell.Run(ctags + " -o | Shell.Run('"' + ctags + '" -o ' + TAGS + " " + CTAGS_FLAGS, 0, true) | ||
} | } | ||
catch (e) | catch (e) | ||
| 108行目: | 120行目: | ||
if (FileSystem.FileExists(CTAGS)) | if (FileSystem.FileExists(CTAGS)) | ||
{ | { | ||
return | return CTAGS | ||
} | } | ||
| 116行目: | 128行目: | ||
if (FileSystem.FileExists(ctags)) | if (FileSystem.FileExists(ctags)) | ||
{ | { | ||
return | return ctags | ||
} | } | ||
| 245行目: | 257行目: | ||
function makeTagfile() | function makeTagfile() | ||
{ | { | ||
var dir = window.Prompt("タグファイル作成フォルダ", | var dir = FileSystem.BuildPath(document.Path, DEFAULT_TAGS_DIR) | ||
if (CONFIRM_CREATE_TAGS) | |||
{ | |||
dir = window.Prompt("タグファイル作成フォルダ", dir) | |||
} | |||
if (!dir) | if (!dir) | ||
スポンサーリンク