Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.35
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
html /
bdc.bdcloud.fr /
includes /
ace /
src /
Delete
Unzip
Name
Size
Permission
Date
Action
snippets
[ DIR ]
drwxr-x---
2025-11-08 11:17
ace.js
703.41
KB
-rwxr-x---
2023-04-04 15:52
ext-beautify.js
12.46
KB
-rwxr-x---
2023-04-04 15:52
ext-code_lens.js
7.66
KB
-rwxr-x---
2023-04-04 15:52
ext-elastic_tabstops_lite.js
8.74
KB
-rwxr-x---
2023-04-04 15:52
ext-emmet.js
47.64
KB
-rwxr-x---
2023-04-04 15:52
ext-error_marker.js
336
B
-rwxr-x---
2023-04-04 15:52
ext-hardwrap.js
4.24
KB
-rwxr-x---
2023-04-04 15:52
ext-keybinding_menu.js
6.09
KB
-rwxr-x---
2023-04-04 15:52
ext-language_tools.js
75.67
KB
-rwxr-x---
2023-04-04 15:52
ext-linking.js
1.95
KB
-rwxr-x---
2023-04-04 15:52
ext-modelist.js
7.35
KB
-rwxr-x---
2023-04-04 15:52
ext-options.js
25.16
KB
-rwxr-x---
2023-04-04 15:52
ext-prompt.js
95.78
KB
-rwxr-x---
2023-04-04 15:52
ext-rtl.js
4.44
KB
-rwxr-x---
2023-04-04 15:52
ext-searchbox.js
16.75
KB
-rwxr-x---
2023-04-04 15:52
ext-settings_menu.js
25.97
KB
-rwxr-x---
2023-04-04 15:52
ext-spellcheck.js
2.46
KB
-rwxr-x---
2023-04-04 15:52
ext-split.js
6.39
KB
-rwxr-x---
2023-04-04 15:52
ext-static_highlight.js
6.87
KB
-rwxr-x---
2023-04-04 15:52
ext-statusbar.js
1.87
KB
-rwxr-x---
2023-04-04 15:52
ext-textarea.js
13.18
KB
-rwxr-x---
2023-04-04 15:52
ext-themelist.js
2.76
KB
-rwxr-x---
2023-04-04 15:52
ext-whitespace.js
6.44
KB
-rwxr-x---
2023-04-04 15:52
keybinding-emacs.js
39.63
KB
-rwxr-x---
2023-04-04 15:52
keybinding-sublime.js
11.12
KB
-rwxr-x---
2023-04-04 15:52
keybinding-vim.js
226.44
KB
-rwxr-x---
2023-04-04 15:52
keybinding-vscode.js
8.06
KB
-rwxr-x---
2023-04-04 15:52
mode-abap.js
9.17
KB
-rwxr-x---
2023-04-04 15:52
mode-abc.js
9.26
KB
-rwxr-x---
2023-04-04 15:52
mode-actionscript.js
24.44
KB
-rwxr-x---
2023-04-04 15:52
mode-ada.js
4.2
KB
-rwxr-x---
2023-04-04 15:52
mode-alda.js
10.23
KB
-rwxr-x---
2023-04-04 15:52
mode-apache_conf.js
18.94
KB
-rwxr-x---
2023-04-04 15:52
mode-apex.js
15.28
KB
-rwxr-x---
2023-04-04 15:52
mode-applescript.js
9.67
KB
-rwxr-x---
2023-04-04 15:52
mode-aql.js
4.6
KB
-rwxr-x---
2023-04-04 15:52
mode-asciidoc.js
13.79
KB
-rwxr-x---
2023-04-04 15:52
mode-asl.js
15.8
KB
-rwxr-x---
2023-04-04 15:52
mode-assembly_x86.js
11.76
KB
-rwxr-x---
2023-04-04 15:52
mode-autohotkey.js
66.03
KB
-rwxr-x---
2023-04-04 15:52
mode-batchfile.js
8.37
KB
-rwxr-x---
2023-04-04 15:52
mode-c9search.js
9.72
KB
-rwxr-x---
2023-04-04 15:52
mode-c_cpp.js
18.93
KB
-rwxr-x---
2023-04-04 15:52
mode-cirru.js
6.15
KB
-rwxr-x---
2023-04-04 15:52
mode-clojure.js
12.82
KB
-rwxr-x---
2023-04-04 15:52
mode-cobol.js
3.6
KB
-rwxr-x---
2023-04-04 15:52
mode-coffee.js
14.39
KB
-rwxr-x---
2023-04-04 15:52
mode-coldfusion.js
102.85
KB
-rwxr-x---
2023-04-04 15:52
mode-crystal.js
23.55
KB
-rwxr-x---
2023-04-04 15:52
mode-csharp.js
16.41
KB
-rwxr-x---
2023-04-04 15:52
mode-csound_document.js
122.34
KB
-rwxr-x---
2023-04-04 15:52
mode-csound_orchestra.js
74.98
KB
-rwxr-x---
2023-04-04 15:52
mode-csound_score.js
14.06
KB
-rwxr-x---
2023-04-04 15:52
mode-csp.js
2.22
KB
-rwxr-x---
2023-04-04 15:52
mode-css.js
31.11
KB
-rwxr-x---
2023-04-04 15:52
mode-curly.js
100.93
KB
-rwxr-x---
2023-04-04 15:52
mode-d.js
17.42
KB
-rwxr-x---
2023-04-04 15:52
mode-dart.js
24.89
KB
-rwxr-x---
2023-04-04 15:52
mode-diff.js
4.69
KB
-rwxr-x---
2023-04-04 15:52
mode-django.js
101.79
KB
-rwxr-x---
2023-04-04 15:52
mode-dockerfile.js
16.16
KB
-rwxr-x---
2023-04-04 15:52
mode-dot.js
13.82
KB
-rwxr-x---
2023-04-04 15:52
mode-drools.js
18.75
KB
-rwxr-x---
2023-04-04 15:52
mode-edifact.js
5.36
KB
-rwxr-x---
2023-04-04 15:52
mode-eiffel.js
5.15
KB
-rwxr-x---
2023-04-04 15:52
mode-ejs.js
138.23
KB
-rwxr-x---
2023-04-04 15:52
mode-elixir.js
23.07
KB
-rwxr-x---
2023-04-04 15:52
mode-elm.js
9.47
KB
-rwxr-x---
2023-04-04 15:52
mode-erlang.js
45.67
KB
-rwxr-x---
2023-04-04 15:52
mode-forth.js
11.3
KB
-rwxr-x---
2023-04-04 15:52
mode-fortran.js
15.04
KB
-rwxr-x---
2023-04-04 15:52
mode-fsharp.js
10.39
KB
-rwxr-x---
2023-04-04 15:52
mode-fsl.js
8.57
KB
-rwxr-x---
2023-04-04 15:52
mode-ftl.js
50.14
KB
-rwxr-x---
2023-04-04 15:52
mode-gcode.js
3.09
KB
-rwxr-x---
2023-04-04 15:52
mode-gherkin.js
4.87
KB
-rwxr-x---
2023-04-04 15:52
mode-gitignore.js
1.77
KB
-rwxr-x---
2023-04-04 15:52
mode-glsl.js
21.98
KB
-rwxr-x---
2023-04-04 15:52
mode-gobstones.js
43.19
KB
-rwxr-x---
2023-04-04 15:52
mode-golang.js
13.82
KB
-rwxr-x---
2023-04-04 15:52
mode-graphqlschema.js
6.76
KB
-rwxr-x---
2023-04-04 15:52
mode-groovy.js
38.08
KB
-rwxr-x---
2023-04-04 15:52
mode-haml.js
76.63
KB
-rwxr-x---
2023-04-04 15:52
mode-handlebars.js
102.49
KB
-rwxr-x---
2023-04-04 15:52
mode-haskell.js
17.1
KB
-rwxr-x---
2023-04-04 15:52
mode-haskell_cabal.js
4.47
KB
-rwxr-x---
2023-04-04 15:52
mode-haxe.js
12.27
KB
-rwxr-x---
2023-04-04 15:52
mode-hjson.js
11.09
KB
-rwxr-x---
2023-04-04 15:52
mode-html.js
99.38
KB
-rwxr-x---
2023-04-04 15:52
mode-html_elixir.js
124.72
KB
-rwxr-x---
2023-04-04 15:52
mode-html_ruby.js
138.97
KB
-rwxr-x---
2023-04-04 15:52
mode-ini.js
4.88
KB
-rwxr-x---
2023-04-04 15:52
mode-io.js
9.09
KB
-rwxr-x---
2023-04-04 15:52
mode-jack.js
11.02
KB
-rwxr-x---
2023-04-04 15:52
mode-jade.js
79.34
KB
-rwxr-x---
2023-04-04 15:52
mode-java.js
39.81
KB
-rwxr-x---
2023-04-04 15:52
mode-javascript.js
31.08
KB
-rwxr-x---
2023-04-04 15:52
mode-json.js
10.33
KB
-rwxr-x---
2023-04-04 15:52
mode-json5.js
11.28
KB
-rwxr-x---
2023-04-04 15:52
mode-jsoniq.js
320.54
KB
-rwxr-x---
2023-04-04 15:52
mode-jsp.js
58.49
KB
-rwxr-x---
2023-04-04 15:52
mode-jssm.js
10.55
KB
-rwxr-x---
2023-04-04 15:52
mode-jsx.js
13.36
KB
-rwxr-x---
2023-04-04 15:52
mode-julia.js
11.93
KB
-rwxr-x---
2023-04-04 15:52
mode-kotlin.js
24.4
KB
-rwxr-x---
2023-04-04 15:52
mode-latex.js
9.49
KB
-rwxr-x---
2023-04-04 15:52
mode-latte.js
106.07
KB
-rwxr-x---
2023-04-04 15:52
mode-less.js
35.21
KB
-rwxr-x---
2023-04-04 15:52
mode-liquid.js
107.9
KB
-rwxr-x---
2023-04-04 15:52
mode-lisp.js
3.47
KB
-rwxr-x---
2023-04-04 15:52
mode-livescript.js
8.34
KB
-rwxr-x---
2023-04-04 15:52
mode-logiql.js
10.65
KB
-rwxr-x---
2023-04-04 15:52
mode-logtalk.js
15.65
KB
-rwxr-x---
2023-04-04 15:52
mode-lsl.js
31.19
KB
-rwxr-x---
2023-04-04 15:52
mode-lua.js
15.03
KB
-rwxr-x---
2023-04-04 15:52
mode-luapage.js
116.01
KB
-rwxr-x---
2023-04-04 15:52
mode-lucene.js
4.78
KB
-rwxr-x---
2023-04-04 15:52
mode-makefile.js
13.17
KB
-rwxr-x---
2023-04-04 15:52
mode-markdown.js
121.81
KB
-rwxr-x---
2023-04-04 15:52
mode-mask.js
70.27
KB
-rwxr-x---
2023-04-04 15:52
mode-matlab.js
22.9
KB
-rwxr-x---
2023-04-04 15:52
mode-maze.js
9.21
KB
-rwxr-x---
2023-04-04 15:52
mode-mediawiki.js
18.96
KB
-rwxr-x---
2023-04-04 15:52
mode-mel.js
28.47
KB
-rwxr-x---
2023-04-04 15:52
mode-mips.js
9.23
KB
-rwxr-x---
2023-04-04 15:52
mode-mixal.js
5.15
KB
-rwxr-x---
2023-04-04 15:52
mode-mushcode.js
12.08
KB
-rwxr-x---
2023-04-04 15:52
mode-mysql.js
8.79
KB
-rwxr-x---
2023-04-04 15:52
mode-nginx.js
20.03
KB
-rwxr-x---
2023-04-04 15:52
mode-nim.js
12.13
KB
-rwxr-x---
2023-04-04 15:52
mode-nix.js
23.65
KB
-rwxr-x---
2023-04-04 15:52
mode-nsis.js
14.82
KB
-rwxr-x---
2023-04-04 15:52
mode-nunjucks.js
105.3
KB
-rwxr-x---
2023-04-04 15:52
mode-objectivec.js
64.32
KB
-rwxr-x---
2023-04-04 15:52
mode-ocaml.js
21.26
KB
-rwxr-x---
2023-04-04 15:52
mode-pascal.js
7.92
KB
-rwxr-x---
2023-04-04 15:52
mode-perl.js
13.09
KB
-rwxr-x---
2023-04-04 15:52
mode-pgsql.js
84.99
KB
-rwxr-x---
2023-04-04 15:52
mode-php.js
583.22
KB
-rwxr-x---
2023-04-04 15:52
mode-php_laravel_blade.js
590.41
KB
-rwxr-x---
2023-04-04 15:52
mode-pig.js
10.91
KB
-rwxr-x---
2023-04-04 15:52
mode-plain_text.js
1.06
KB
-rwxr-x---
2023-04-04 15:52
mode-powershell.js
38.23
KB
-rwxr-x---
2023-04-04 15:52
mode-praat.js
17.59
KB
-rwxr-x---
2023-04-04 15:52
mode-prisma.js
15.26
KB
-rwxr-x---
2023-04-04 15:52
mode-prolog.js
14.07
KB
-rwxr-x---
2023-04-04 15:52
mode-properties.js
2.33
KB
-rwxr-x---
2023-04-04 15:52
mode-protobuf.js
22.1
KB
-rwxr-x---
2023-04-04 15:52
mode-puppet.js
12.74
KB
-rwxr-x---
2023-04-04 15:52
mode-python.js
15.17
KB
-rwxr-x---
2023-04-04 15:52
mode-qml.js
23.1
KB
-rwxr-x---
2023-04-04 15:52
mode-r.js
9.96
KB
-rwxr-x---
2023-04-04 15:52
mode-raku.js
24.53
KB
-rwxr-x---
2023-04-04 15:52
mode-razor.js
111.58
KB
-rwxr-x---
2023-04-04 15:52
mode-rdoc.js
8.06
KB
-rwxr-x---
2023-04-04 15:52
mode-red.js
19.83
KB
-rwxr-x---
2023-04-04 15:52
mode-redshift.js
13.99
KB
-rwxr-x---
2023-04-04 15:52
mode-rhtml.js
108.67
KB
-rwxr-x---
2023-04-04 15:52
mode-rst.js
5.87
KB
-rwxr-x---
2023-04-04 15:52
mode-ruby.js
38.39
KB
-rwxr-x---
2023-04-04 15:52
mode-rust.js
11.19
KB
-rwxr-x---
2023-04-04 15:52
mode-sass.js
23.81
KB
-rwxr-x---
2023-04-04 15:52
mode-scad.js
12.89
KB
-rwxr-x---
2023-04-04 15:52
mode-scala.js
38.18
KB
-rwxr-x---
2023-04-04 15:52
mode-scheme.js
7.14
KB
-rwxr-x---
2023-04-04 15:52
mode-scrypt.js
13.17
KB
-rwxr-x---
2023-04-04 15:52
mode-scss.js
36.93
KB
-rwxr-x---
2023-04-04 15:52
mode-sh.js
14.53
KB
-rwxr-x---
2023-04-04 15:52
mode-sjs.js
37.03
KB
-rwxr-x---
2023-04-04 15:52
mode-slim.js
197.55
KB
-rwxr-x---
2023-04-04 15:52
mode-smarty.js
104.34
KB
-rwxr-x---
2023-04-04 15:52
mode-smithy.js
15.75
KB
-rwxr-x---
2023-04-04 15:52
mode-snippets.js
7.09
KB
-rwxr-x---
2023-04-04 15:52
mode-soy_template.js
112.64
KB
-rwxr-x---
2023-04-04 15:52
mode-space.js
4.99
KB
-rwxr-x---
2023-04-04 15:52
mode-sparql.js
12.35
KB
-rwxr-x---
2023-04-04 15:52
mode-sql.js
8.45
KB
-rwxr-x---
2023-04-04 15:52
mode-sqlserver.js
23.13
KB
-rwxr-x---
2023-04-04 15:52
mode-stylus.js
20.92
KB
-rwxr-x---
2023-04-04 15:52
mode-svg.js
57.64
KB
-rwxr-x---
2023-04-04 15:52
mode-swift.js
13.46
KB
-rwxr-x---
2023-04-04 15:52
mode-tcl.js
12.28
KB
-rwxr-x---
2023-04-04 15:52
mode-terraform.js
12.99
KB
-rwxr-x---
2023-04-04 15:52
mode-tex.js
5.17
KB
-rwxr-x---
2023-04-04 15:52
mode-text.js
329
B
-rwxr-x---
2023-04-04 15:52
mode-textile.js
4.23
KB
-rwxr-x---
2023-04-04 15:52
mode-toml.js
4.17
KB
-rwxr-x---
2023-04-04 15:52
mode-tsx.js
34.14
KB
-rwxr-x---
2023-04-04 15:52
mode-turtle.js
9.31
KB
-rwxr-x---
2023-04-04 15:52
mode-twig.js
105.04
KB
-rwxr-x---
2023-04-04 15:52
mode-typescript.js
33.72
KB
-rwxr-x---
2023-04-04 15:52
mode-vala.js
27.13
KB
-rwxr-x---
2023-04-04 15:52
mode-vbscript.js
24.06
KB
-rwxr-x---
2023-04-04 15:52
mode-velocity.js
108.55
KB
-rwxr-x---
2023-04-04 15:52
mode-verilog.js
4.45
KB
-rwxr-x---
2023-04-04 15:52
mode-vhdl.js
3.96
KB
-rwxr-x---
2023-04-04 15:52
mode-visualforce.js
103.61
KB
-rwxr-x---
2023-04-04 15:52
mode-wollok.js
35
KB
-rwxr-x---
2023-04-04 15:52
mode-xml.js
23.42
KB
-rwxr-x---
2023-04-04 15:52
mode-xquery.js
317.81
KB
-rwxr-x---
2023-04-04 15:52
mode-yaml.js
10.35
KB
-rwxr-x---
2023-04-04 15:52
mode-zeek.js
16.65
KB
-rwxr-x---
2023-04-04 15:52
theme-ambiance.js
27.55
KB
-rwxr-x---
2023-04-04 15:52
theme-chaos.js
3.47
KB
-rwxr-x---
2023-04-04 15:52
theme-chrome.js
3.29
KB
-rwxr-x---
2023-04-04 15:52
theme-clouds.js
2.61
KB
-rwxr-x---
2023-04-04 15:52
theme-clouds_midnight.js
2.96
KB
-rwxr-x---
2023-04-04 15:52
theme-cobalt.js
2.91
KB
-rwxr-x---
2023-04-04 15:52
theme-crimson_editor.js
3.38
KB
-rwxr-x---
2023-04-04 15:52
theme-dawn.js
2.79
KB
-rwxr-x---
2023-04-04 15:52
theme-dracula.js
3.17
KB
-rwxr-x---
2023-04-04 15:52
theme-dreamweaver.js
3.74
KB
-rwxr-x---
2023-04-04 15:52
theme-eclipse.js
2.66
KB
-rwxr-x---
2023-04-04 15:52
theme-github.js
2.72
KB
-rwxr-x---
2023-04-04 15:52
theme-gob.js
2.93
KB
-rwxr-x---
2023-04-04 15:52
theme-gruvbox.js
2.18
KB
-rwxr-x---
2023-04-04 15:52
theme-idle_fingers.js
2.78
KB
-rwxr-x---
2023-04-04 15:52
theme-iplastic.js
6.95
KB
-rwxr-x---
2023-04-04 15:52
theme-katzenmilch.js
3.68
KB
-rwxr-x---
2023-04-04 15:52
theme-kr_theme.js
2.83
KB
-rwxr-x---
2023-04-04 15:52
theme-kuroir.js
2.51
KB
-rwxr-x---
2023-04-04 15:52
theme-merbivore.js
2.76
KB
-rwxr-x---
2023-04-04 15:52
theme-merbivore_soft.js
2.97
KB
-rwxr-x---
2023-04-04 15:52
theme-mono_industrial.js
3.33
KB
-rwxr-x---
2023-04-04 15:52
theme-monokai.js
2.91
KB
-rwxr-x---
2023-04-04 15:52
theme-nord_dark.js
2.62
KB
-rwxr-x---
2023-04-04 15:52
theme-one_dark.js
3.28
KB
-rwxr-x---
2023-04-04 15:52
theme-pastel_on_dark.js
3.18
KB
-rwxr-x---
2023-04-04 15:52
theme-solarized_dark.js
2.83
KB
-rwxr-x---
2023-04-04 15:52
theme-solarized_light.js
2.88
KB
-rwxr-x---
2023-04-04 15:52
theme-sqlserver.js
3.49
KB
-rwxr-x---
2023-04-04 15:52
theme-terminal.js
3.46
KB
-rwxr-x---
2023-04-04 15:52
theme-textmate.js
3.2
KB
-rwxr-x---
2023-04-04 15:52
theme-tomorrow.js
3.1
KB
-rwxr-x---
2023-04-04 15:52
theme-tomorrow_night.js
3.36
KB
-rwxr-x---
2023-04-04 15:52
theme-tomorrow_night_blue.js
3.57
KB
-rwxr-x---
2023-04-04 15:52
theme-tomorrow_night_bright.js
4.05
KB
-rwxr-x---
2023-04-04 15:52
theme-tomorrow_night_eighties.js
3.76
KB
-rwxr-x---
2023-04-04 15:52
theme-twilight.js
3.02
KB
-rwxr-x---
2023-04-04 15:52
theme-vibrant_ink.js
2.73
KB
-rwxr-x---
2023-04-04 15:52
theme-xcode.js
2.43
KB
-rwxr-x---
2023-04-04 15:52
worker-base.js
41.99
KB
-rwxr-x---
2023-04-04 15:52
worker-coffee.js
340.98
KB
-rwxr-x---
2023-04-04 15:52
worker-css.js
306.75
KB
-rwxr-x---
2023-04-04 15:52
worker-html.js
308.72
KB
-rwxr-x---
2023-04-04 15:52
worker-javascript.js
704.57
KB
-rwxr-x---
2023-04-04 15:52
worker-json.js
49.55
KB
-rwxr-x---
2023-04-04 15:52
worker-lua.js
101.46
KB
-rwxr-x---
2023-04-04 15:52
worker-php.js
129.92
KB
-rwxr-x---
2023-04-04 15:52
worker-xml.js
88.56
KB
-rwxr-x---
2023-04-04 15:52
worker-xquery.js
3.34
MB
-rwxr-x---
2023-04-04 15:52
Save
Rename
define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"], function(require, exports, module) { "use strict"; var dom = require("../lib/dom"); var lang = require("../lib/lang"); var event = require("../lib/event"); var searchboxCss = "\ .ace_search {\ background-color: #ddd;\ color: #666;\ border: 1px solid #cbcbcb;\ border-top: 0 none;\ overflow: hidden;\ margin: 0;\ padding: 4px 6px 0 4px;\ position: absolute;\ top: 0;\ z-index: 99;\ white-space: normal;\ }\ .ace_search.left {\ border-left: 0 none;\ border-radius: 0px 0px 5px 0px;\ left: 0;\ }\ .ace_search.right {\ border-radius: 0px 0px 0px 5px;\ border-right: 0 none;\ right: 0;\ }\ .ace_search_form, .ace_replace_form {\ margin: 0 20px 4px 0;\ overflow: hidden;\ line-height: 1.9;\ }\ .ace_replace_form {\ margin-right: 0;\ }\ .ace_search_form.ace_nomatch {\ outline: 1px solid red;\ }\ .ace_search_field {\ border-radius: 3px 0 0 3px;\ background-color: white;\ color: black;\ border: 1px solid #cbcbcb;\ border-right: 0 none;\ outline: 0;\ padding: 0;\ font-size: inherit;\ margin: 0;\ line-height: inherit;\ padding: 0 6px;\ min-width: 17em;\ vertical-align: top;\ min-height: 1.8em;\ box-sizing: content-box;\ }\ .ace_searchbtn {\ border: 1px solid #cbcbcb;\ line-height: inherit;\ display: inline-block;\ padding: 0 6px;\ background: #fff;\ border-right: 0 none;\ border-left: 1px solid #dcdcdc;\ cursor: pointer;\ margin: 0;\ position: relative;\ color: #666;\ }\ .ace_searchbtn:last-child {\ border-radius: 0 3px 3px 0;\ border-right: 1px solid #cbcbcb;\ }\ .ace_searchbtn:disabled {\ background: none;\ cursor: default;\ }\ .ace_searchbtn:hover {\ background-color: #eef1f6;\ }\ .ace_searchbtn.prev, .ace_searchbtn.next {\ padding: 0px 0.7em\ }\ .ace_searchbtn.prev:after, .ace_searchbtn.next:after {\ content: \"\";\ border: solid 2px #888;\ width: 0.5em;\ height: 0.5em;\ border-width: 2px 0 0 2px;\ display:inline-block;\ transform: rotate(-45deg);\ }\ .ace_searchbtn.next:after {\ border-width: 0 2px 2px 0 ;\ }\ .ace_searchbtn_close {\ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\ border-radius: 50%;\ border: 0 none;\ color: #656565;\ cursor: pointer;\ font: 16px/16px Arial;\ padding: 0;\ height: 14px;\ width: 14px;\ top: 9px;\ right: 7px;\ position: absolute;\ }\ .ace_searchbtn_close:hover {\ background-color: #656565;\ background-position: 50% 100%;\ color: white;\ }\ .ace_button {\ margin-left: 2px;\ cursor: pointer;\ -webkit-user-select: none;\ -moz-user-select: none;\ -o-user-select: none;\ -ms-user-select: none;\ user-select: none;\ overflow: hidden;\ opacity: 0.7;\ border: 1px solid rgba(100,100,100,0.23);\ padding: 1px;\ box-sizing: border-box!important;\ color: black;\ }\ .ace_button:hover {\ background-color: #eee;\ opacity:1;\ }\ .ace_button:active {\ background-color: #ddd;\ }\ .ace_button.checked {\ border-color: #3399ff;\ opacity:1;\ }\ .ace_search_options{\ margin-bottom: 3px;\ text-align: right;\ -webkit-user-select: none;\ -moz-user-select: none;\ -o-user-select: none;\ -ms-user-select: none;\ user-select: none;\ clear: both;\ }\ .ace_search_counter {\ float: left;\ font-family: arial;\ padding: 0 8px;\ }"; var HashHandler = require("../keyboard/hash_handler").HashHandler; var keyUtil = require("../lib/keys"); var MAX_COUNT = 999; dom.importCssString(searchboxCss, "ace_searchbox", false); var SearchBox = function(editor, range, showReplaceForm) { var div = dom.createElement("div"); dom.buildDom(["div", {class:"ace_search right"}, ["span", {action: "hide", class: "ace_searchbtn_close"}], ["div", {class: "ace_search_form"}, ["input", {class: "ace_search_field", placeholder: "Search for", spellcheck: "false"}], ["span", {action: "findPrev", class: "ace_searchbtn prev"}, "\u200b"], ["span", {action: "findNext", class: "ace_searchbtn next"}, "\u200b"], ["span", {action: "findAll", class: "ace_searchbtn", title: "Alt-Enter"}, "All"] ], ["div", {class: "ace_replace_form"}, ["input", {class: "ace_search_field", placeholder: "Replace with", spellcheck: "false"}], ["span", {action: "replaceAndFindNext", class: "ace_searchbtn"}, "Replace"], ["span", {action: "replaceAll", class: "ace_searchbtn"}, "All"] ], ["div", {class: "ace_search_options"}, ["span", {action: "toggleReplace", class: "ace_button", title: "Toggle Replace mode", style: "float:left;margin-top:-2px;padding:0 5px;"}, "+"], ["span", {class: "ace_search_counter"}], ["span", {action: "toggleRegexpMode", class: "ace_button", title: "RegExp Search"}, ".*"], ["span", {action: "toggleCaseSensitive", class: "ace_button", title: "CaseSensitive Search"}, "Aa"], ["span", {action: "toggleWholeWords", class: "ace_button", title: "Whole Word Search"}, "\\b"], ["span", {action: "searchInSelection", class: "ace_button", title: "Search In Selection"}, "S"] ] ], div); this.element = div.firstChild; this.setSession = this.setSession.bind(this); this.$init(); this.setEditor(editor); dom.importCssString(searchboxCss, "ace_searchbox", editor.container); }; (function() { this.setEditor = function(editor) { editor.searchBox = this; editor.renderer.scroller.appendChild(this.element); this.editor = editor; }; this.setSession = function(e) { this.searchRange = null; this.$syncOptions(true); }; this.$initElements = function(sb) { this.searchBox = sb.querySelector(".ace_search_form"); this.replaceBox = sb.querySelector(".ace_replace_form"); this.searchOption = sb.querySelector("[action=searchInSelection]"); this.replaceOption = sb.querySelector("[action=toggleReplace]"); this.regExpOption = sb.querySelector("[action=toggleRegexpMode]"); this.caseSensitiveOption = sb.querySelector("[action=toggleCaseSensitive]"); this.wholeWordOption = sb.querySelector("[action=toggleWholeWords]"); this.searchInput = this.searchBox.querySelector(".ace_search_field"); this.replaceInput = this.replaceBox.querySelector(".ace_search_field"); this.searchCounter = sb.querySelector(".ace_search_counter"); }; this.$init = function() { var sb = this.element; this.$initElements(sb); var _this = this; event.addListener(sb, "mousedown", function(e) { setTimeout(function(){ _this.activeInput.focus(); }, 0); event.stopPropagation(e); }); event.addListener(sb, "click", function(e) { var t = e.target || e.srcElement; var action = t.getAttribute("action"); if (action && _this[action]) _this[action](); else if (_this.$searchBarKb.commands[action]) _this.$searchBarKb.commands[action].exec(_this); event.stopPropagation(e); }); event.addCommandKeyListener(sb, function(e, hashId, keyCode) { var keyString = keyUtil.keyCodeToString(keyCode); var command = _this.$searchBarKb.findKeyCommand(hashId, keyString); if (command && command.exec) { command.exec(_this); event.stopEvent(e); } }); this.$onChange = lang.delayedCall(function() { _this.find(false, false); }); event.addListener(this.searchInput, "input", function() { _this.$onChange.schedule(20); }); event.addListener(this.searchInput, "focus", function() { _this.activeInput = _this.searchInput; _this.searchInput.value && _this.highlight(); }); event.addListener(this.replaceInput, "focus", function() { _this.activeInput = _this.replaceInput; _this.searchInput.value && _this.highlight(); }); }; this.$closeSearchBarKb = new HashHandler([{ bindKey: "Esc", name: "closeSearchBar", exec: function(editor) { editor.searchBox.hide(); } }]); this.$searchBarKb = new HashHandler(); this.$searchBarKb.bindKeys({ "Ctrl-f|Command-f": function(sb) { var isReplace = sb.isReplace = !sb.isReplace; sb.replaceBox.style.display = isReplace ? "" : "none"; sb.replaceOption.checked = false; sb.$syncOptions(); sb.searchInput.focus(); }, "Ctrl-H|Command-Option-F": function(sb) { if (sb.editor.getReadOnly()) return; sb.replaceOption.checked = true; sb.$syncOptions(); sb.replaceInput.focus(); }, "Ctrl-G|Command-G": function(sb) { sb.findNext(); }, "Ctrl-Shift-G|Command-Shift-G": function(sb) { sb.findPrev(); }, "esc": function(sb) { setTimeout(function() { sb.hide();}); }, "Return": function(sb) { if (sb.activeInput == sb.replaceInput) sb.replace(); sb.findNext(); }, "Shift-Return": function(sb) { if (sb.activeInput == sb.replaceInput) sb.replace(); sb.findPrev(); }, "Alt-Return": function(sb) { if (sb.activeInput == sb.replaceInput) sb.replaceAll(); sb.findAll(); }, "Tab": function(sb) { (sb.activeInput == sb.replaceInput ? sb.searchInput : sb.replaceInput).focus(); } }); this.$searchBarKb.addCommands([{ name: "toggleRegexpMode", bindKey: {win: "Alt-R|Alt-/", mac: "Ctrl-Alt-R|Ctrl-Alt-/"}, exec: function(sb) { sb.regExpOption.checked = !sb.regExpOption.checked; sb.$syncOptions(); } }, { name: "toggleCaseSensitive", bindKey: {win: "Alt-C|Alt-I", mac: "Ctrl-Alt-R|Ctrl-Alt-I"}, exec: function(sb) { sb.caseSensitiveOption.checked = !sb.caseSensitiveOption.checked; sb.$syncOptions(); } }, { name: "toggleWholeWords", bindKey: {win: "Alt-B|Alt-W", mac: "Ctrl-Alt-B|Ctrl-Alt-W"}, exec: function(sb) { sb.wholeWordOption.checked = !sb.wholeWordOption.checked; sb.$syncOptions(); } }, { name: "toggleReplace", exec: function(sb) { sb.replaceOption.checked = !sb.replaceOption.checked; sb.$syncOptions(); } }, { name: "searchInSelection", exec: function(sb) { sb.searchOption.checked = !sb.searchRange; sb.setSearchRange(sb.searchOption.checked && sb.editor.getSelectionRange()); sb.$syncOptions(); } }]); this.setSearchRange = function(range) { this.searchRange = range; if (range) { this.searchRangeMarker = this.editor.session.addMarker(range, "ace_active-line"); } else if (this.searchRangeMarker) { this.editor.session.removeMarker(this.searchRangeMarker); this.searchRangeMarker = null; } }; this.$syncOptions = function(preventScroll) { dom.setCssClass(this.replaceOption, "checked", this.searchRange); dom.setCssClass(this.searchOption, "checked", this.searchOption.checked); this.replaceOption.textContent = this.replaceOption.checked ? "-" : "+"; dom.setCssClass(this.regExpOption, "checked", this.regExpOption.checked); dom.setCssClass(this.wholeWordOption, "checked", this.wholeWordOption.checked); dom.setCssClass(this.caseSensitiveOption, "checked", this.caseSensitiveOption.checked); var readOnly = this.editor.getReadOnly(); this.replaceOption.style.display = readOnly ? "none" : ""; this.replaceBox.style.display = this.replaceOption.checked && !readOnly ? "" : "none"; this.find(false, false, preventScroll); }; this.highlight = function(re) { this.editor.session.highlight(re || this.editor.$search.$options.re); this.editor.renderer.updateBackMarkers(); }; this.find = function(skipCurrent, backwards, preventScroll) { var range = this.editor.find(this.searchInput.value, { skipCurrent: skipCurrent, backwards: backwards, wrap: true, regExp: this.regExpOption.checked, caseSensitive: this.caseSensitiveOption.checked, wholeWord: this.wholeWordOption.checked, preventScroll: preventScroll, range: this.searchRange }); var noMatch = !range && this.searchInput.value; dom.setCssClass(this.searchBox, "ace_nomatch", noMatch); this.editor._emit("findSearchBox", { match: !noMatch }); this.highlight(); this.updateCounter(); }; this.updateCounter = function() { var editor = this.editor; var regex = editor.$search.$options.re; var all = 0; var before = 0; if (regex) { var value = this.searchRange ? editor.session.getTextRange(this.searchRange) : editor.getValue(); var offset = editor.session.doc.positionToIndex(editor.selection.anchor); if (this.searchRange) offset -= editor.session.doc.positionToIndex(this.searchRange.start); var last = regex.lastIndex = 0; var m; while ((m = regex.exec(value))) { all++; last = m.index; if (last <= offset) before++; if (all > MAX_COUNT) break; if (!m[0]) { regex.lastIndex = last += 1; if (last >= value.length) break; } } } this.searchCounter.textContent = before + " of " + (all > MAX_COUNT ? MAX_COUNT + "+" : all); }; this.findNext = function() { this.find(true, false); }; this.findPrev = function() { this.find(true, true); }; this.findAll = function(){ var range = this.editor.findAll(this.searchInput.value, { regExp: this.regExpOption.checked, caseSensitive: this.caseSensitiveOption.checked, wholeWord: this.wholeWordOption.checked }); var noMatch = !range && this.searchInput.value; dom.setCssClass(this.searchBox, "ace_nomatch", noMatch); this.editor._emit("findSearchBox", { match: !noMatch }); this.highlight(); this.hide(); }; this.replace = function() { if (!this.editor.getReadOnly()) this.editor.replace(this.replaceInput.value); }; this.replaceAndFindNext = function() { if (!this.editor.getReadOnly()) { this.editor.replace(this.replaceInput.value); this.findNext(); } }; this.replaceAll = function() { if (!this.editor.getReadOnly()) this.editor.replaceAll(this.replaceInput.value); }; this.hide = function() { this.active = false; this.setSearchRange(null); this.editor.off("changeSession", this.setSession); this.element.style.display = "none"; this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb); this.editor.focus(); }; this.show = function(value, isReplace) { this.active = true; this.editor.on("changeSession", this.setSession); this.element.style.display = ""; this.replaceOption.checked = isReplace; if (value) this.searchInput.value = value; this.searchInput.focus(); this.searchInput.select(); this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb); this.$syncOptions(true); }; this.isFocused = function() { var el = document.activeElement; return el == this.searchInput || el == this.replaceInput; }; }).call(SearchBox.prototype); exports.SearchBox = SearchBox; exports.Search = function(editor, isReplace) { var sb = editor.searchBox || new SearchBox(editor); sb.show(editor.session.getTextRange(), isReplace); }; }); (function() { window.require(["ace/ext/searchbox"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; } }); })();