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 /
webedi.bdcloud.fr /
includes /
ace /
src /
Delete
Unzip
Name
Size
Permission
Date
Action
snippets
[ DIR ]
drwxr-xr-x
2025-11-08 11:17
ace.js
717.99
KB
-rw-r--r--
2020-05-12 15:31
ext-beautify.js
11.79
KB
-rw-r--r--
2020-04-18 15:05
ext-code_lens.js
7.49
KB
-rw-r--r--
2020-05-12 15:31
ext-elastic_tabstops_lite.js
8.74
KB
-rw-r--r--
2020-04-18 15:05
ext-emmet.js
47.29
KB
-rw-r--r--
2020-05-12 15:31
ext-error_marker.js
336
B
-rw-r--r--
2020-04-18 15:05
ext-keybinding_menu.js
6.06
KB
-rw-r--r--
2020-05-12 15:31
ext-language_tools.js
74.47
KB
-rw-r--r--
2020-05-12 15:31
ext-linking.js
1.95
KB
-rw-r--r--
2020-04-18 15:05
ext-modelist.js
7.1
KB
-rw-r--r--
2020-05-12 15:31
ext-options.js
23.92
KB
-rw-r--r--
2020-05-12 15:31
ext-prompt.js
94.39
KB
-rw-r--r--
2020-05-12 15:31
ext-rtl.js
4.44
KB
-rw-r--r--
2020-04-18 15:05
ext-searchbox.js
16.74
KB
-rw-r--r--
2020-04-18 15:05
ext-settings_menu.js
24.74
KB
-rw-r--r--
2020-05-12 15:31
ext-spellcheck.js
2.46
KB
-rw-r--r--
2020-05-12 15:31
ext-split.js
6.39
KB
-rw-r--r--
2020-04-18 15:05
ext-static_highlight.js
6.87
KB
-rw-r--r--
2020-04-18 15:05
ext-statusbar.js
1.87
KB
-rw-r--r--
2020-04-18 15:05
ext-textarea.js
16.11
KB
-rw-r--r--
2020-04-18 15:05
ext-themelist.js
2.63
KB
-rw-r--r--
2020-04-18 15:05
ext-whitespace.js
6.44
KB
-rw-r--r--
2020-04-18 15:05
keybinding-emacs.js
39.72
KB
-rw-r--r--
2020-05-12 15:31
keybinding-sublime.js
11.12
KB
-rw-r--r--
2020-05-12 15:31
keybinding-vim.js
214.18
KB
-rw-r--r--
2020-05-12 15:31
keybinding-vscode.js
8.07
KB
-rw-r--r--
2020-05-12 15:31
mode-abap.js
9.17
KB
-rw-r--r--
2020-04-18 15:05
mode-abc.js
9.17
KB
-rw-r--r--
2020-04-18 15:05
mode-actionscript.js
24.39
KB
-rw-r--r--
2020-04-18 15:05
mode-ada.js
4.2
KB
-rw-r--r--
2020-04-18 15:05
mode-apache_conf.js
18.94
KB
-rw-r--r--
2020-04-18 15:05
mode-apex.js
15.28
KB
-rw-r--r--
2020-04-18 15:05
mode-applescript.js
9.67
KB
-rw-r--r--
2020-04-18 15:05
mode-aql.js
4.6
KB
-rw-r--r--
2020-04-18 15:05
mode-asciidoc.js
13.79
KB
-rw-r--r--
2020-04-18 15:05
mode-asl.js
15.9
KB
-rw-r--r--
2020-04-18 15:05
mode-assembly_x86.js
11.76
KB
-rw-r--r--
2020-04-18 15:05
mode-autohotkey.js
66.03
KB
-rw-r--r--
2020-04-18 15:05
mode-batchfile.js
8.37
KB
-rw-r--r--
2020-04-18 15:05
mode-bro.js
11.09
KB
-rw-r--r--
2020-04-18 15:05
mode-c9search.js
9.72
KB
-rw-r--r--
2020-04-18 15:05
mode-c_cpp.js
18.81
KB
-rw-r--r--
2020-04-18 15:05
mode-cirru.js
6.15
KB
-rw-r--r--
2020-04-18 15:05
mode-clojure.js
12.77
KB
-rw-r--r--
2020-04-18 15:05
mode-cobol.js
3.6
KB
-rw-r--r--
2020-04-18 15:05
mode-coffee.js
14.34
KB
-rw-r--r--
2020-04-18 15:05
mode-coldfusion.js
102.71
KB
-rw-r--r--
2020-04-18 15:05
mode-crystal.js
23.55
KB
-rw-r--r--
2020-04-18 15:05
mode-csharp.js
16.41
KB
-rw-r--r--
2020-04-18 15:05
mode-csound_document.js
120.57
KB
-rw-r--r--
2020-05-12 15:31
mode-csound_orchestra.js
73.25
KB
-rw-r--r--
2020-05-12 15:31
mode-csound_score.js
14.02
KB
-rw-r--r--
2020-04-18 15:05
mode-csp.js
2.22
KB
-rw-r--r--
2020-04-18 15:05
mode-css.js
31.06
KB
-rw-r--r--
2020-04-18 15:05
mode-curly.js
100.79
KB
-rw-r--r--
2020-04-18 15:05
mode-d.js
17.42
KB
-rw-r--r--
2020-04-18 15:05
mode-dart.js
24.72
KB
-rw-r--r--
2020-04-18 15:05
mode-diff.js
4.64
KB
-rw-r--r--
2020-04-18 15:05
mode-django.js
101.6
KB
-rw-r--r--
2020-04-18 15:05
mode-dockerfile.js
16.11
KB
-rw-r--r--
2020-04-18 15:05
mode-dot.js
13.82
KB
-rw-r--r--
2020-04-18 15:05
mode-drools.js
18.68
KB
-rw-r--r--
2020-04-18 15:05
mode-edifact.js
5.31
KB
-rw-r--r--
2020-04-18 15:05
mode-eiffel.js
5.15
KB
-rw-r--r--
2020-04-18 15:05
mode-ejs.js
118.45
KB
-rw-r--r--
2020-04-18 15:05
mode-elixir.js
23.07
KB
-rw-r--r--
2020-04-18 15:05
mode-elm.js
9.47
KB
-rw-r--r--
2020-04-18 15:05
mode-erlang.js
45.63
KB
-rw-r--r--
2020-04-18 15:05
mode-forth.js
11.3
KB
-rw-r--r--
2020-04-18 15:05
mode-fortran.js
15.04
KB
-rw-r--r--
2020-04-18 15:05
mode-fsharp.js
10.39
KB
-rw-r--r--
2020-04-18 15:05
mode-fsl.js
8.53
KB
-rw-r--r--
2020-04-18 15:05
mode-ftl.js
50.14
KB
-rw-r--r--
2020-04-18 15:05
mode-gcode.js
3.09
KB
-rw-r--r--
2020-04-18 15:05
mode-gherkin.js
4.87
KB
-rw-r--r--
2020-04-18 15:05
mode-gitignore.js
1.77
KB
-rw-r--r--
2020-04-18 15:05
mode-glsl.js
21.86
KB
-rw-r--r--
2020-04-18 15:05
mode-gobstones.js
43.09
KB
-rw-r--r--
2020-04-18 15:05
mode-golang.js
13.82
KB
-rw-r--r--
2020-04-18 15:05
mode-graphqlschema.js
6.71
KB
-rw-r--r--
2020-04-18 15:05
mode-groovy.js
38.02
KB
-rw-r--r--
2020-04-18 15:05
mode-haml.js
63.97
KB
-rw-r--r--
2020-04-18 15:05
mode-handlebars.js
102.35
KB
-rw-r--r--
2020-04-18 15:05
mode-haskell.js
17.05
KB
-rw-r--r--
2020-04-18 15:05
mode-haskell_cabal.js
4.47
KB
-rw-r--r--
2020-04-18 15:05
mode-haxe.js
12.27
KB
-rw-r--r--
2020-04-18 15:05
mode-hjson.js
11.09
KB
-rw-r--r--
2020-04-18 15:05
mode-html.js
99.24
KB
-rw-r--r--
2020-04-18 15:05
mode-html_elixir.js
124.58
KB
-rw-r--r--
2020-04-18 15:05
mode-html_ruby.js
119.19
KB
-rw-r--r--
2020-04-18 15:05
mode-ini.js
4.88
KB
-rw-r--r--
2020-04-18 15:05
mode-io.js
9.05
KB
-rw-r--r--
2020-04-18 15:05
mode-jack.js
11.02
KB
-rw-r--r--
2020-04-18 15:05
mode-jade.js
79.34
KB
-rw-r--r--
2020-05-12 15:31
mode-java.js
39.7
KB
-rw-r--r--
2020-04-18 15:05
mode-javascript.js
31.03
KB
-rw-r--r--
2020-04-18 15:05
mode-json.js
10.24
KB
-rw-r--r--
2020-04-18 15:05
mode-json5.js
11.28
KB
-rw-r--r--
2020-05-12 15:31
mode-jsoniq.js
320.49
KB
-rw-r--r--
2020-04-18 15:05
mode-jsp.js
58.42
KB
-rw-r--r--
2020-04-18 15:05
mode-jssm.js
10.55
KB
-rw-r--r--
2020-04-18 15:05
mode-jsx.js
13.36
KB
-rw-r--r--
2020-04-18 15:05
mode-julia.js
11.93
KB
-rw-r--r--
2020-04-18 15:05
mode-kotlin.js
24.32
KB
-rw-r--r--
2020-04-18 15:05
mode-latex.js
9.49
KB
-rw-r--r--
2020-04-18 15:05
mode-less.js
35.21
KB
-rw-r--r--
2020-04-18 15:05
mode-liquid.js
107.71
KB
-rw-r--r--
2020-04-18 15:05
mode-lisp.js
3.47
KB
-rw-r--r--
2020-04-18 15:05
mode-livescript.js
8.34
KB
-rw-r--r--
2020-04-18 15:05
mode-logiql.js
10.65
KB
-rw-r--r--
2020-04-18 15:05
mode-logtalk.js
15.65
KB
-rw-r--r--
2020-04-18 15:05
mode-lsl.js
31.14
KB
-rw-r--r--
2020-04-18 15:05
mode-lua.js
14.98
KB
-rw-r--r--
2020-04-18 15:05
mode-luapage.js
115.82
KB
-rw-r--r--
2020-04-18 15:05
mode-lucene.js
4.78
KB
-rw-r--r--
2020-04-18 15:05
mode-makefile.js
13.12
KB
-rw-r--r--
2020-04-18 15:05
mode-markdown.js
121.58
KB
-rw-r--r--
2020-05-12 15:31
mode-mask.js
70.27
KB
-rw-r--r--
2020-05-12 15:31
mode-matlab.js
22.9
KB
-rw-r--r--
2020-04-18 15:05
mode-maze.js
9.17
KB
-rw-r--r--
2020-04-18 15:05
mode-mel.js
28.47
KB
-rw-r--r--
2020-04-18 15:05
mode-mixal.js
5.15
KB
-rw-r--r--
2020-04-18 15:05
mode-mushcode.js
12.08
KB
-rw-r--r--
2020-04-18 15:05
mode-mysql.js
8.79
KB
-rw-r--r--
2020-04-18 15:05
mode-nginx.js
20.03
KB
-rw-r--r--
2020-04-18 15:05
mode-nim.js
12.13
KB
-rw-r--r--
2020-04-18 15:05
mode-nix.js
23.54
KB
-rw-r--r--
2020-04-18 15:05
mode-nsis.js
14.76
KB
-rw-r--r--
2020-05-12 15:31
mode-nunjucks.js
105.16
KB
-rw-r--r--
2020-05-12 15:31
mode-objectivec.js
64.25
KB
-rw-r--r--
2020-04-18 15:05
mode-ocaml.js
21.26
KB
-rw-r--r--
2020-04-18 15:05
mode-pascal.js
7.92
KB
-rw-r--r--
2020-04-18 15:05
mode-perl.js
13.04
KB
-rw-r--r--
2020-04-18 15:05
mode-perl6.js
24.53
KB
-rw-r--r--
2020-04-18 15:05
mode-pgsql.js
84.98
KB
-rw-r--r--
2020-04-18 15:05
mode-php.js
580.88
KB
-rw-r--r--
2020-04-18 15:05
mode-php_laravel_blade.js
588.06
KB
-rw-r--r--
2020-04-18 15:05
mode-pig.js
10.91
KB
-rw-r--r--
2020-04-18 15:05
mode-plain_text.js
1.06
KB
-rw-r--r--
2020-04-18 15:05
mode-powershell.js
38.23
KB
-rw-r--r--
2020-04-18 15:05
mode-praat.js
17.59
KB
-rw-r--r--
2020-04-18 15:05
mode-prolog.js
14.07
KB
-rw-r--r--
2020-04-18 15:05
mode-properties.js
2.33
KB
-rw-r--r--
2020-04-18 15:05
mode-protobuf.js
21.98
KB
-rw-r--r--
2020-04-18 15:05
mode-puppet.js
12.8
KB
-rw-r--r--
2020-04-18 15:05
mode-python.js
15.13
KB
-rw-r--r--
2020-04-18 15:05
mode-r.js
9.91
KB
-rw-r--r--
2020-04-18 15:05
mode-razor.js
111.4
KB
-rw-r--r--
2020-04-18 15:05
mode-rdoc.js
8.06
KB
-rw-r--r--
2020-04-18 15:05
mode-red.js
19.83
KB
-rw-r--r--
2020-04-18 15:05
mode-redshift.js
13.99
KB
-rw-r--r--
2020-04-18 15:05
mode-rhtml.js
108.53
KB
-rw-r--r--
2020-04-18 15:05
mode-rst.js
5.83
KB
-rw-r--r--
2020-04-18 15:05
mode-ruby.js
18.75
KB
-rw-r--r--
2020-04-18 15:05
mode-rust.js
11.13
KB
-rw-r--r--
2020-05-12 15:31
mode-sass.js
23.81
KB
-rw-r--r--
2020-04-18 15:05
mode-scad.js
12.89
KB
-rw-r--r--
2020-04-18 15:05
mode-scala.js
38.13
KB
-rw-r--r--
2020-04-18 15:05
mode-scheme.js
7.14
KB
-rw-r--r--
2020-04-18 15:05
mode-scss.js
36.93
KB
-rw-r--r--
2020-04-18 15:05
mode-sh.js
14.49
KB
-rw-r--r--
2020-04-18 15:05
mode-sjs.js
36.98
KB
-rw-r--r--
2020-04-18 15:05
mode-slim.js
174.98
KB
-rw-r--r--
2020-05-12 15:31
mode-smarty.js
104.2
KB
-rw-r--r--
2020-04-18 15:05
mode-snippets.js
7.04
KB
-rw-r--r--
2020-04-18 15:05
mode-soy_template.js
112.5
KB
-rw-r--r--
2020-04-18 15:05
mode-space.js
4.99
KB
-rw-r--r--
2020-04-18 15:05
mode-sparql.js
12.35
KB
-rw-r--r--
2020-04-18 15:05
mode-sql.js
3.34
KB
-rw-r--r--
2020-04-18 15:05
mode-sqlserver.js
23.07
KB
-rw-r--r--
2020-04-18 15:05
mode-stylus.js
20.92
KB
-rw-r--r--
2020-04-18 15:05
mode-svg.js
57.59
KB
-rw-r--r--
2020-04-18 15:05
mode-swift.js
13.22
KB
-rw-r--r--
2020-04-18 15:05
mode-tcl.js
12.23
KB
-rw-r--r--
2020-04-18 15:05
mode-terraform.js
12.93
KB
-rw-r--r--
2020-04-18 15:05
mode-tex.js
5.13
KB
-rw-r--r--
2020-04-18 15:05
mode-text.js
329
B
-rw-r--r--
2020-04-18 15:05
mode-textile.js
4.18
KB
-rw-r--r--
2020-04-18 15:05
mode-toml.js
4.17
KB
-rw-r--r--
2020-04-18 15:05
mode-tsx.js
34.09
KB
-rw-r--r--
2020-04-18 15:05
mode-turtle.js
9.31
KB
-rw-r--r--
2020-04-18 15:05
mode-twig.js
104.9
KB
-rw-r--r--
2020-04-18 15:05
mode-typescript.js
33.67
KB
-rw-r--r--
2020-04-18 15:05
mode-vala.js
27.08
KB
-rw-r--r--
2020-04-18 15:05
mode-vbscript.js
7.57
KB
-rw-r--r--
2020-04-18 15:05
mode-velocity.js
108.36
KB
-rw-r--r--
2020-04-18 15:05
mode-verilog.js
4.45
KB
-rw-r--r--
2020-04-18 15:05
mode-vhdl.js
3.78
KB
-rw-r--r--
2020-05-12 15:31
mode-visualforce.js
103.47
KB
-rw-r--r--
2020-04-18 15:05
mode-wollok.js
34.9
KB
-rw-r--r--
2020-04-18 15:05
mode-xml.js
23.42
KB
-rw-r--r--
2020-04-18 15:05
mode-xquery.js
317.76
KB
-rw-r--r--
2020-04-18 15:05
mode-yaml.js
10.35
KB
-rw-r--r--
2020-04-18 15:05
mode-zeek.js
16.65
KB
-rw-r--r--
2020-04-18 15:05
theme-ambiance.js
27.53
KB
-rw-r--r--
2020-04-18 15:05
theme-chaos.js
3.45
KB
-rw-r--r--
2020-04-18 15:05
theme-chrome.js
3.28
KB
-rw-r--r--
2020-04-18 15:05
theme-clouds.js
2.6
KB
-rw-r--r--
2020-04-18 15:05
theme-clouds_midnight.js
2.95
KB
-rw-r--r--
2020-04-18 15:05
theme-cobalt.js
2.9
KB
-rw-r--r--
2020-04-18 15:05
theme-crimson_editor.js
3.37
KB
-rw-r--r--
2020-04-18 15:05
theme-dawn.js
2.78
KB
-rw-r--r--
2020-04-18 15:05
theme-dracula.js
3.16
KB
-rw-r--r--
2020-04-18 15:05
theme-dreamweaver.js
3.73
KB
-rw-r--r--
2020-04-18 15:05
theme-eclipse.js
2.65
KB
-rw-r--r--
2020-04-18 15:05
theme-github.js
2.72
KB
-rw-r--r--
2020-04-18 15:05
theme-gob.js
2.92
KB
-rw-r--r--
2020-04-18 15:05
theme-gruvbox.js
2.17
KB
-rw-r--r--
2020-04-18 15:05
theme-idle_fingers.js
2.77
KB
-rw-r--r--
2020-04-18 15:05
theme-iplastic.js
6.94
KB
-rw-r--r--
2020-04-18 15:05
theme-katzenmilch.js
3.68
KB
-rw-r--r--
2020-04-18 15:05
theme-kr_theme.js
2.83
KB
-rw-r--r--
2020-04-18 15:05
theme-kuroir.js
2.51
KB
-rw-r--r--
2020-04-18 15:05
theme-merbivore.js
2.75
KB
-rw-r--r--
2020-04-18 15:05
theme-merbivore_soft.js
2.97
KB
-rw-r--r--
2020-04-18 15:05
theme-mono_industrial.js
3.32
KB
-rw-r--r--
2020-04-18 15:05
theme-monokai.js
2.91
KB
-rw-r--r--
2020-04-18 15:05
theme-pastel_on_dark.js
3.17
KB
-rw-r--r--
2020-04-18 15:05
theme-solarized_dark.js
2.82
KB
-rw-r--r--
2020-04-18 15:05
theme-solarized_light.js
2.87
KB
-rw-r--r--
2020-04-18 15:05
theme-sqlserver.js
3.48
KB
-rw-r--r--
2020-04-18 15:05
theme-terminal.js
3.45
KB
-rw-r--r--
2020-04-18 15:05
theme-textmate.js
3.2
KB
-rw-r--r--
2020-04-18 15:05
theme-tomorrow.js
3.09
KB
-rw-r--r--
2020-04-18 15:05
theme-tomorrow_night.js
3.35
KB
-rw-r--r--
2020-04-18 15:05
theme-tomorrow_night_blue.js
3.56
KB
-rw-r--r--
2020-04-18 15:05
theme-tomorrow_night_bright.js
4.05
KB
-rw-r--r--
2020-04-18 15:05
theme-tomorrow_night_eighties.js
3.75
KB
-rw-r--r--
2020-04-18 15:05
theme-twilight.js
3.04
KB
-rw-r--r--
2020-04-18 15:05
theme-vibrant_ink.js
2.72
KB
-rw-r--r--
2020-04-18 15:05
theme-xcode.js
2.43
KB
-rw-r--r--
2020-04-18 15:05
worker-coffee.js
362.1
KB
-rw-r--r--
2020-05-12 15:31
worker-css.js
290.27
KB
-rw-r--r--
2020-05-12 15:31
worker-html.js
329.85
KB
-rw-r--r--
2020-05-12 15:31
worker-javascript.js
336.68
KB
-rw-r--r--
2020-05-12 15:31
worker-json.js
70.67
KB
-rw-r--r--
2020-05-12 15:31
worker-lua.js
102.94
KB
-rw-r--r--
2020-05-12 15:31
worker-php.js
147.24
KB
-rw-r--r--
2020-05-12 15:31
worker-xml.js
109.68
KB
-rw-r--r--
2020-05-12 15:31
worker-xquery.js
3.36
MB
-rw-r--r--
2020-05-12 15:31
Save
Rename
define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) { "use strict"; var oop = require("../lib/oop"); var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; var reservedKeywords = exports.reservedKeywords = ( '!|{|}|case|do|done|elif|else|'+ 'esac|fi|for|if|in|then|until|while|'+ '&|;|export|local|read|typeset|unset|'+ 'elif|select|set|function|declare|readonly' ); var languageConstructs = exports.languageConstructs = ( '[|]|alias|bg|bind|break|builtin|'+ 'cd|command|compgen|complete|continue|'+ 'dirs|disown|echo|enable|eval|exec|'+ 'exit|fc|fg|getopts|hash|help|history|'+ 'jobs|kill|let|logout|popd|printf|pushd|'+ 'pwd|return|set|shift|shopt|source|'+ 'suspend|test|times|trap|type|ulimit|'+ 'umask|unalias|wait' ); var ShHighlightRules = function() { var keywordMapper = this.createKeywordMapper({ "keyword": reservedKeywords, "support.function.builtin": languageConstructs, "invalid.deprecated": "debugger" }, "identifier"); var integer = "(?:(?:[1-9]\\d*)|(?:0))"; var fraction = "(?:\\.\\d+)"; var intPart = "(?:\\d+)"; var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))"; var exponentFloat = "(?:(?:" + pointFloat + "|" + intPart + ")" + ")"; var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")"; var fileDescriptor = "(?:&" + intPart + ")"; var variableName = "[a-zA-Z_][a-zA-Z0-9_]*"; var variable = "(?:" + variableName + "(?==))"; var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))"; var func = "(?:" + variableName + "\\s*\\(\\))"; this.$rules = { "start" : [{ token : "constant", regex : /\\./ }, { token : ["text", "comment"], regex : /(^|\s)(#.*)$/ }, { token : "string.start", regex : '"', push : [{ token : "constant.language.escape", regex : /\\(?:[$`"\\]|$)/ }, { include : "variables" }, { token : "keyword.operator", regex : /`/ // TODO highlight ` }, { token : "string.end", regex : '"', next: "pop" }, { defaultToken: "string" }] }, { token : "string", regex : "\\$'", push : [{ token : "constant.language.escape", regex : /\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/ }, { token : "string", regex : "'", next: "pop" }, { defaultToken: "string" }] }, { regex : "<<<", token : "keyword.operator" }, { stateName: "heredoc", regex : "(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)", onMatch : function(value, currentState, stack) { var next = value[2] == '-' ? "indentedHeredoc" : "heredoc"; var tokens = value.split(this.splitRegex); stack.push(next, tokens[4]); return [ {type:"constant", value: tokens[1]}, {type:"text", value: tokens[2]}, {type:"string", value: tokens[3]}, {type:"support.class", value: tokens[4]}, {type:"string", value: tokens[5]} ]; }, rules: { heredoc: [{ onMatch: function(value, currentState, stack) { if (value === stack[1]) { stack.shift(); stack.shift(); this.next = stack[0] || "start"; return "support.class"; } this.next = ""; return "string"; }, regex: ".*$", next: "start" }], indentedHeredoc: [{ token: "string", regex: "^\t+" }, { onMatch: function(value, currentState, stack) { if (value === stack[1]) { stack.shift(); stack.shift(); this.next = stack[0] || "start"; return "support.class"; } this.next = ""; return "string"; }, regex: ".*$", next: "start" }] } }, { regex : "$", token : "empty", next : function(currentState, stack) { if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc") return stack[0]; return currentState; } }, { token : ["keyword", "text", "text", "text", "variable"], regex : /(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/ }, { token : "variable.language", regex : builtinVariable }, { token : "variable", regex : variable }, { include : "variables" }, { token : "support.function", regex : func }, { token : "support.function", regex : fileDescriptor }, { token : "string", // ' string start : "'", end : "'" }, { token : "constant.numeric", // float regex : floatNumber }, { token : "constant.numeric", // integer regex : integer + "\\b" }, { token : keywordMapper, regex : "[a-zA-Z_][a-zA-Z0-9_]*\\b" }, { token : "keyword.operator", regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]" }, { token : "punctuation.operator", regex : ";" }, { token : "paren.lparen", regex : "[\\[\\(\\{]" }, { token : "paren.rparen", regex : "[\\]]" }, { token : "paren.rparen", regex : "[\\)\\}]", next : "pop" }], variables: [{ token : "variable", regex : /(\$)(\w+)/ }, { token : ["variable", "paren.lparen"], regex : /(\$)(\()/, push : "start" }, { token : ["variable", "paren.lparen", "keyword.operator", "variable", "keyword.operator"], regex : /(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/, push : "start" }, { token : "variable", regex : /\$[*@#?\-$!0_]/ }, { token : ["variable", "paren.lparen"], regex : /(\$)(\{)/, push : "start" }] }; this.normalizeRules(); }; oop.inherits(ShHighlightRules, TextHighlightRules); exports.ShHighlightRules = ShHighlightRules; }); define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) { "use strict"; var oop = require("../../lib/oop"); var Range = require("../../range").Range; var BaseFoldMode = require("./fold_mode").FoldMode; var FoldMode = exports.FoldMode = function(commentRegex) { if (commentRegex) { this.foldingStartMarker = new RegExp( this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start) ); this.foldingStopMarker = new RegExp( this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end) ); } }; oop.inherits(FoldMode, BaseFoldMode); (function() { this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/; this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/; this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } var fw = this._getFoldWidgetBase(session, foldStyle, row); if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, row); var match = line.match(this.foldingStartMarker); if (match) { var i = match.index; if (match[1]) return this.openingBracketBlock(session, match[1], row, i); var range = session.getCommentFoldRange(row, i + match[0].length, 1); if (range && !range.isMultiLine()) { if (forceMultiline) { range = this.getSectionRange(session, row); } else if (foldStyle != "all") range = null; } return range; } if (foldStyle === "markbegin") return; var match = line.match(this.foldingStopMarker); if (match) { var i = match.index + match[0].length; if (match[1]) return this.closingBracketBlock(session, match[1], row, i); return session.getCommentFoldRange(row, i, -1); } }; this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); var startRow = row; var startColumn = line.length; row = row + 1; var endRow = row; var maxRow = session.getLength(); while (++row < maxRow) { line = session.getLine(row); var indent = line.search(/\S/); if (indent === -1) continue; if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); if (subRange) { if (subRange.start.row <= startRow) { break; } else if (subRange.isMultiLine()) { row = subRange.end.row; } else if (startIndent == indent) { break; } } endRow = row; } return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = function(session, line, row) { var startColumn = line.search(/\s*$/); var maxRow = session.getLength(); var startRow = row; var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/; var depth = 1; while (++row < maxRow) { line = session.getLine(row); var m = re.exec(line); if (!m) continue; if (m[1]) depth--; else depth++; if (!depth) break; } var endRow = row; if (endRow > startRow) { return new Range(startRow, startColumn, endRow, line.length); } }; }).call(FoldMode.prototype); }); define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle"], function(require, exports, module) { "use strict"; var oop = require("../lib/oop"); var TextMode = require("./text").Mode; var ShHighlightRules = require("./sh_highlight_rules").ShHighlightRules; var Range = require("../range").Range; var CStyleFoldMode = require("./folding/cstyle").FoldMode; var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour; var Mode = function() { this.HighlightRules = ShHighlightRules; this.foldingRules = new CStyleFoldMode(); this.$behaviour = new CstyleBehaviour(); }; oop.inherits(Mode, TextMode); (function() { this.lineCommentStart = "#"; this.getNextLineIndent = function(state, line, tab) { var indent = this.$getIndent(line); var tokenizedLine = this.getTokenizer().getLineTokens(line, state); var tokens = tokenizedLine.tokens; if (tokens.length && tokens[tokens.length-1].type == "comment") { return indent; } if (state == "start") { var match = line.match(/^.*[\{\(\[:]\s*$/); if (match) { indent += tab; } } return indent; }; var outdents = { "pass": 1, "return": 1, "raise": 1, "break": 1, "continue": 1 }; this.checkOutdent = function(state, line, input) { if (input !== "\r\n" && input !== "\r" && input !== "\n") return false; var tokens = this.getTokenizer().getLineTokens(line.trim(), state).tokens; if (!tokens) return false; do { var last = tokens.pop(); } while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\s+$/)))); if (!last) return false; return (last.type == "keyword" && outdents[last.value]); }; this.autoOutdent = function(state, doc, row) { row += 1; var indent = this.$getIndent(doc.getLine(row)); var tab = doc.getTabString(); if (indent.slice(-tab.length) == tab) doc.remove(new Range(row, indent.length-tab.length, row, indent.length)); }; this.$id = "ace/mode/sh"; }).call(Mode.prototype); exports.Mode = Mode; }); (function() { window.require(["ace/mode/sh"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; } }); })();