annotate .cms/lib/codemirror/demo/search.html @ 1:1d486627aa1e draft default tip

24.10
author Coffee CMS <info@coffee-cms.ru>
date Sat, 12 Oct 2024 02:51:39 +0000
parents 78edf6b517a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
1 <!doctype html>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
2
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
3 <title>CodeMirror: Search/Replace Demo</title>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
4 <meta charset="utf-8"/>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
5 <link rel=stylesheet href="../doc/docs.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
6
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
7 <link rel="stylesheet" href="../lib/codemirror.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
8 <link rel="stylesheet" href="../addon/dialog/dialog.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
9 <link rel="stylesheet" href="../addon/search/matchesonscrollbar.css">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
10 <script src="../lib/codemirror.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
11 <script src="../mode/xml/xml.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
12 <script src="../addon/dialog/dialog.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
13 <script src="../addon/search/searchcursor.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
14 <script src="../addon/search/search.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
15 <script src="../addon/scroll/annotatescrollbar.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
16 <script src="../addon/search/matchesonscrollbar.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
17 <script src="../addon/search/jump-to-line.js"></script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
18 <style>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
19 .CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
20 dt {font-family: monospace; color: #666;}
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
21 </style>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
22 <div id=nav>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
23 <a href="https://codemirror.net/5"><h1>CodeMirror</h1><img id=logo src="../doc/logo.png"></a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
24
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
25 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
26 <li><a href="../index.html">Home</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
27 <li><a href="../doc/manual.html">Manual</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
28 <li><a href="https://github.com/codemirror/codemirror5">Code</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
29 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
30 <ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
31 <li><a class=active href="#">Search/Replace</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
32 </ul>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
33 </div>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
34
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
35 <article>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
36 <h2>Search/Replace Demo</h2>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
37 <form><textarea id="code" name="code">
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
38 <dl>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
39 <dt id="option_indentWithTabs"><code><strong>indentWithTabs</strong>: boolean</code></dt>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
40 <dd>Whether, when indenting, the first N*<code>tabSize</code>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
41 spaces should be replaced by N tabs. Default is false.</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
42
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
43 <dt id="option_electricChars"><code><strong>electricChars</strong>: boolean</code></dt>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
44 <dd>Configures whether the editor should re-indent the current
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
45 line when a character is typed that might change its proper
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
46 indentation (only works if the mode supports indentation).
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
47 Default is true.</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
48
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
49 <dt id="option_specialChars"><code><strong>specialChars</strong>: RegExp</code></dt>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
50 <dd>A regular expression used to determine which characters
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
51 should be replaced by a
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
52 special <a href="#option_specialCharPlaceholder">placeholder</a>.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
53 Mostly useful for non-printing special characters. The default
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
54 is <code>/[\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/</code>.</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
55 <dt id="option_specialCharPlaceholder"><code><strong>specialCharPlaceholder</strong>: function(char) → Element</code></dt>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
56 <dd>A function that, given a special character identified by
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
57 the <a href="#option_specialChars"><code>specialChars</code></a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
58 option, produces a DOM node that is used to represent the
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
59 character. By default, a red dot (<span style="color: red">•</span>)
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
60 is shown, with a title tooltip to indicate the character code.</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
61
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
62 <dt id="option_rtlMoveVisually"><code><strong>rtlMoveVisually</strong>: boolean</code></dt>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
63 <dd>Determines whether horizontal cursor movement through
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
64 right-to-left (Arabic, Hebrew) text is visual (pressing the left
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
65 arrow moves the cursor left) or logical (pressing the left arrow
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
66 moves to the next lower index in the string, which is visually
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
67 right in right-to-left text). The default is <code>false</code>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
68 on Windows, and <code>true</code> on other platforms.</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
69 </dl>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
70 </textarea></form>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
71
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
72 <script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
73 var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
74 mode: "text/html",
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
75 lineNumbers: true,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
76 extraKeys: {"Alt-F": "findPersistent"}
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
77 });
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
78 </script>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
79
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
80 <p>Demonstration of primitive search/replace functionality. The
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
81 keybindings (which can be configured with custom keymaps) are:</p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
82 <dl>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
83 <dt>Ctrl-F / Cmd-F</dt><dd>Start searching</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
84 <dt>Ctrl-G / Cmd-G</dt><dd>Find next</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
85 <dt>Shift-Ctrl-G / Shift-Cmd-G</dt><dd>Find previous</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
86 <dt>Shift-Ctrl-F / Cmd-Option-F</dt><dd>Replace</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
87 <dt>Shift-Ctrl-R / Shift-Cmd-Option-F</dt><dd>Replace all</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
88 <dt>Alt-F</dt><dd>Persistent search (dialog doesn't autoclose,
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
89 enter to find next, Shift-Enter to find previous)</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
90 <dt>Alt-G</dt><dd>Jump to line</dd>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
91 </dl>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
92 <p>Searching is enabled by
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
93 including <a href="../addon/search/search.js">addon/search/search.js</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
94 and <a href="../addon/search/searchcursor.js">addon/search/searchcursor.js</a>.
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
95 Jump to line - including <a href="../addon/search/jump-to-line.js">addon/search/jump-to-line.js</a>.</p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
96 <p>For good-looking input dialogs, you also want to include
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
97 <a href="../addon/dialog/dialog.js">addon/dialog/dialog.js</a>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
98 and <a href="../addon/dialog/dialog.css">addon/dialog/dialog.css</a>.</p>
Coffee CMS <info@coffee-cms.ru>
parents:
diff changeset
99 </article>