「タグファイルから補完」の版間の差分

編集の要約なし
r6
27行目: 27行目:


<source lang="javascript">
<source lang="javascript">
// タグファイルから補完.js r5
// タグファイルから補完.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 で動作確認しています


/** 設定 **/
/** 設定 **/


// タグファイルの名前
// タグファイルの名前
var TAGS = "tags"
TAGS = ".merytags"


// ctags.exeの名前
// ctags.exeの名前
// 相対パスの場合は以下のディレクトリから順に探します
// 相対パスの場合はmery本体のあるディレクトリのものを使います
//   ・mery本体と同じディレクトリ
// "c:\\bin\\ctags.exe" のように絶対パスも指定できます
var CTAGS = "ctags.exe"
CTAGS = "ctags.exe"


// ctagsに与える引数 (初期設定:位置を行番号で記憶(必須)、フォルダを再帰的に処理、関数の引数を記憶)
// ctagsに与える引数 (初期設定:位置を行番号で記憶(必須)、フォルダを再帰的に処理、関数の引数を記憶)
var CTAGS_FLAGS = "--excmd=number --recurse --fields=+S"
CTAGS_FLAGS = "--excmd=number --recurse --fields=+S"


// 単語の途中で補完する際の挙動
// 単語の途中で補完する際の挙動
// trueにするとカーソルの置かれた単語全体から補完
// trueにするとカーソルの置かれた単語全体から補完
// falseにするとカーソルより左から補完します
// falseにするとカーソルより左から補完します
var WHOLE_WORD = true
WHOLE_WORD = true


// 単語の検索の挙動
// 単語の検索の挙動
// trueにすると検索時大文字と小文字を区別しません
// trueにすると検索時大文字と小文字を区別しません
// falseにすると区別します
// falseにすると区別します
var CASE_INSENSITIVE = true
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 " + TAGS + " " + CTAGS_FLAGS, 0, true)
       Shell.Run('"' + ctags + '" -o ' + TAGS + " " + CTAGS_FLAGS, 0, true)
     }
     }
     catch (e)
     catch (e)
108行目: 120行目:
     if (FileSystem.FileExists(CTAGS))
     if (FileSystem.FileExists(CTAGS))
     {
     {
       return '"' + CTAGS + '"'
       return CTAGS
     }
     }
      
      
116行目: 128行目:
     if (FileSystem.FileExists(ctags))
     if (FileSystem.FileExists(ctags))
     {
     {
       return '"' + ctags + '"'
       return ctags
     }
     }
      
      
245行目: 257行目:
   function makeTagfile()
   function makeTagfile()
   {
   {
     var dir = window.Prompt("タグファイル作成フォルダ", document.Path)
     var dir = FileSystem.BuildPath(document.Path, DEFAULT_TAGS_DIR)
   
    if (CONFIRM_CREATE_TAGS)
    {
      dir = window.Prompt("タグファイル作成フォルダ", dir)
    }
      
      
     if (!dir)
     if (!dir)
スポンサーリンク