100 lines
4.4 KiB
HTML
Executable File
100 lines
4.4 KiB
HTML
Executable File
<!doctype html>
|
||
|
||
<title>CodeMirror: Search/Replace Demo</title>
|
||
<meta charset="utf-8"/>
|
||
<link rel=stylesheet href="../doc/docs.css">
|
||
|
||
<link rel="stylesheet" href="../lib/codemirror.css">
|
||
<link rel="stylesheet" href="../addon/dialog/dialog.css">
|
||
<link rel="stylesheet" href="../addon/search/matchesonscrollbar.css">
|
||
<script src="../lib/codemirror.js"></script>
|
||
<script src="../mode/xml/xml.js"></script>
|
||
<script src="../addon/dialog/dialog.js"></script>
|
||
<script src="../addon/search/searchcursor.js"></script>
|
||
<script src="../addon/search/search.js"></script>
|
||
<script src="../addon/scroll/annotatescrollbar.js"></script>
|
||
<script src="../addon/search/matchesonscrollbar.js"></script>
|
||
<script src="../addon/search/jump-to-line.js"></script>
|
||
<style>
|
||
.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
|
||
dt {font-family: monospace; color: #666;}
|
||
</style>
|
||
<div id=nav>
|
||
<a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../doc/logo.png"></a>
|
||
|
||
<ul>
|
||
<li><a href="../index.html">Home</a>
|
||
<li><a href="../doc/manual.html">Manual</a>
|
||
<li><a href="https://github.com/codemirror/codemirror">Code</a>
|
||
</ul>
|
||
<ul>
|
||
<li><a class=active href="#">Search/Replace</a>
|
||
</ul>
|
||
</div>
|
||
|
||
<article>
|
||
<h2>Search/Replace Demo</h2>
|
||
<form><textarea id="code" name="code">
|
||
<dl>
|
||
<dt id="option_indentWithTabs"><code><strong>indentWithTabs</strong>: boolean</code></dt>
|
||
<dd>Whether, when indenting, the first N*<code>tabSize</code>
|
||
spaces should be replaced by N tabs. Default is false.</dd>
|
||
|
||
<dt id="option_electricChars"><code><strong>electricChars</strong>: boolean</code></dt>
|
||
<dd>Configures whether the editor should re-indent the current
|
||
line when a character is typed that might change its proper
|
||
indentation (only works if the mode supports indentation).
|
||
Default is true.</dd>
|
||
|
||
<dt id="option_specialChars"><code><strong>specialChars</strong>: RegExp</code></dt>
|
||
<dd>A regular expression used to determine which characters
|
||
should be replaced by a
|
||
special <a href="#option_specialCharPlaceholder">placeholder</a>.
|
||
Mostly useful for non-printing special characters. The default
|
||
is <code>/[\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/</code>.</dd>
|
||
<dt id="option_specialCharPlaceholder"><code><strong>specialCharPlaceholder</strong>: function(char) → Element</code></dt>
|
||
<dd>A function that, given a special character identified by
|
||
the <a href="#option_specialChars"><code>specialChars</code></a>
|
||
option, produces a DOM node that is used to represent the
|
||
character. By default, a red dot (<span style="color: red">•</span>)
|
||
is shown, with a title tooltip to indicate the character code.</dd>
|
||
|
||
<dt id="option_rtlMoveVisually"><code><strong>rtlMoveVisually</strong>: boolean</code></dt>
|
||
<dd>Determines whether horizontal cursor movement through
|
||
right-to-left (Arabic, Hebrew) text is visual (pressing the left
|
||
arrow moves the cursor left) or logical (pressing the left arrow
|
||
moves to the next lower index in the string, which is visually
|
||
right in right-to-left text). The default is <code>false</code>
|
||
on Windows, and <code>true</code> on other platforms.</dd>
|
||
</dl>
|
||
</textarea></form>
|
||
|
||
<script>
|
||
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
|
||
mode: "text/html",
|
||
lineNumbers: true,
|
||
extraKeys: {"Alt-F": "findPersistent"}
|
||
});
|
||
</script>
|
||
|
||
<p>Demonstration of primitive search/replace functionality. The
|
||
keybindings (which can be configured with custom keymaps) are:</p>
|
||
<dl>
|
||
<dt>Ctrl-F / Cmd-F</dt><dd>Start searching</dd>
|
||
<dt>Ctrl-G / Cmd-G</dt><dd>Find next</dd>
|
||
<dt>Shift-Ctrl-G / Shift-Cmd-G</dt><dd>Find previous</dd>
|
||
<dt>Shift-Ctrl-F / Cmd-Option-F</dt><dd>Replace</dd>
|
||
<dt>Shift-Ctrl-R / Shift-Cmd-Option-F</dt><dd>Replace all</dd>
|
||
<dt>Alt-F</dt><dd>Persistent search (dialog doesn't autoclose,
|
||
enter to find next, Shift-Enter to find previous)</dd>
|
||
<dt>Alt-G</dt><dd>Jump to line</dd>
|
||
</dl>
|
||
<p>Searching is enabled by
|
||
including <a href="../addon/search/search.js">addon/search/search.js</a>
|
||
and <a href="../addon/search/searchcursor.js">addon/search/searchcursor.js</a>.
|
||
Jump to line - including <a href="../addon/search/jump-to-line.js">addon/search/jump-to-line.js</a>.</p>
|
||
<p>For good-looking input dialogs, you also want to include
|
||
<a href="../addon/dialog/dialog.js">addon/dialog/dialog.js</a>
|
||
and <a href="../addon/dialog/dialog.css">addon/dialog/dialog.css</a>.</p>
|
||
</article>
|