「タブの桁数」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
ソースコードの整形
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(同じ利用者による、間の2版が非表示)
7行目: 7行目:


== ソースコード ==
== ソースコード ==
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
alert(get_tabcolumns());
alert(get_tabcolumns());


14行目: 14行目:
var y = ScrollY;
var y = ScrollY;
Redraw = false;
Redraw = false;
with(Editor.ActiveDocument.Selection) {
var sel = editor.ActiveDocument.selection;
var p = GetActivePos();
var p = sel.GetActivePos();
EndOfDocument();
sel.EndOfDocument();
Editor.ActiveDocument.Write("\n\t");
editor.ActiveDocument.Write("\n\t");
SelectLine();
sel.SelectLine();
Untabify();
sel.Untabify();
var tab_length = Text.length;
var tab_length = sel.Text.length;
Delete();
sel.Delete();
DeleteLeft();
sel.DeleteLeft();
SetActivePos(p);
sel.SetActivePos(p);
};
ScrollX = x;
ScrollX = x;
ScrollY = y;
ScrollY = y;

2025年6月30日 (月) 00:38時点における最新版

概要[編集]

タブの桁数を返す関数です。

機能[編集]

  • タブの桁数を返します。
  • タブを書き込んで空白に変換し、その長さを調べています。

ソースコード[編集]

alert(get_tabcolumns());

function get_tabcolumns() {
	var x = ScrollX;
	var y = ScrollY;
	Redraw = false;
	var sel = editor.ActiveDocument.selection;
	var p = sel.GetActivePos();
	sel.EndOfDocument();
	editor.ActiveDocument.Write("\n\t");
	sel.SelectLine();
	sel.Untabify();
	var tab_length = sel.Text.length;
	sel.Delete();
	sel.DeleteLeft();
	sel.SetActivePos(p);
	ScrollX = x;
	ScrollY = y;
	Redraw = true;
	return tab_length;
}

変更履歴[編集]

  • 1.0.0 (2014-01-30)
    • 初版

その他[編集]

  • 別にMeryの設定を直接的に得る方法があるかも知れません。
スポンサーリンク