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/ext/code_lens",["require","exports","module","ace/line_widgets","ace/lib/lang","ace/lib/dom","ace/editor","ace/config"], function(require, exports, module) { "use strict"; var LineWidgets = require("../line_widgets").LineWidgets; var lang = require("../lib/lang"); var dom = require("../lib/dom"); function clearLensElements(renderer) { var textLayer = renderer.$textLayer; var lensElements = textLayer.$lenses; if (lensElements) lensElements.forEach(function(el) {el.remove(); }); textLayer.$lenses = null; } function renderWidgets(changes, renderer) { var changed = changes & renderer.CHANGE_LINES || changes & renderer.CHANGE_FULL || changes & renderer.CHANGE_SCROLL || changes & renderer.CHANGE_TEXT; if (!changed) return; var session = renderer.session; var lineWidgets = renderer.session.lineWidgets; var textLayer = renderer.$textLayer; var lensElements = textLayer.$lenses; if (!lineWidgets) { if (lensElements) clearLensElements(renderer); return; } var textCells = renderer.$textLayer.$lines.cells; var config = renderer.layerConfig; var padding = renderer.$padding; if (!lensElements) lensElements = textLayer.$lenses = []; var index = 0; for (var i = 0; i < textCells.length; i++) { var row = textCells[i].row; var widget = lineWidgets[row]; var lenses = widget && widget.lenses; if (!lenses || !lenses.length) continue; var lensContainer = lensElements[index]; if (!lensContainer) { lensContainer = lensElements[index] = dom.buildDom(["div", {class: "ace_codeLens"}], renderer.container); } lensContainer.style.height = config.lineHeight + "px"; index++; for (var j = 0; j < lenses.length; j++) { var el = lensContainer.childNodes[2 * j]; if (!el) { if (j != 0) lensContainer.appendChild(dom.createTextNode("\xa0|\xa0")); el = dom.buildDom(["a"], lensContainer); } el.textContent = lenses[j].title; el.lensCommand = lenses[j]; } while (lensContainer.childNodes.length > 2 * j - 1) lensContainer.lastChild.remove(); var top = renderer.$cursorLayer.getPixelPosition({ row: row, column: 0 }, true).top - config.lineHeight * widget.rowsAbove - config.offset; lensContainer.style.top = top + "px"; var left = renderer.gutterWidth; var indent = session.getLine(row).search(/\S|$/); if (indent == -1) indent = 0; left += indent * config.characterWidth; left -= renderer.scrollLeft; lensContainer.style.paddingLeft = padding + left + "px"; } while (index < lensElements.length) lensElements.pop().remove(); } function clearCodeLensWidgets(session) { if (!session.lineWidgets) return; var widgetManager = session.widgetManager; session.lineWidgets.forEach(function(widget) { if (widget && widget.lenses) widgetManager.removeLineWidget(widget); }); } exports.setLenses = function(session, lenses) { var firstRow = Number.MAX_VALUE; clearCodeLensWidgets(session); lenses && lenses.forEach(function(lens) { var row = lens.start.row; var column = lens.start.column; var widget = session.lineWidgets && session.lineWidgets[row]; if (!widget || !widget.lenses) { widget = session.widgetManager.$registerLineWidget({ rowCount: 1, rowsAbove: 1, row: row, column: column, lenses: [] }); } widget.lenses.push(lens.command); if (row < firstRow) firstRow = row; }); session._emit("changeFold", {data: {start: {row: firstRow}}}); }; function attachToEditor(editor) { editor.codeLensProviders = []; editor.renderer.on("afterRender", renderWidgets); editor.$codeLensClickHandler = function(e) { var command = e.target.lensCommand; if (command) editor.execCommand(command.id, command.arguments); }; editor.container.addEventListener("click", editor.$codeLensClickHandler); editor.$updateLenses = function() { var session = editor.session; if (!session) return; if (!session.widgetManager) { session.widgetManager = new LineWidgets(session); session.widgetManager.attach(editor); } var providersToWaitNum = editor.codeLensProviders.length; var lenses = []; editor.codeLensProviders.forEach(function(provider) { provider.provideCodeLenses(session, function(currentLenses) { currentLenses.forEach(function(lens) { lenses.push(lens); }); providersToWaitNum--; if (providersToWaitNum == 0) { applyLenses(); } }); }); function applyLenses() { var cursor = session.selection.cursor; var oldRow = session.documentToScreenRow(cursor); exports.setLenses(session, lenses); var lastDelta = session.$undoManager && session.$undoManager.$lastDelta; if (lastDelta && lastDelta.action == "remove" && lastDelta.lines.length > 1) return; var row = session.documentToScreenRow(cursor); var lineHeight = editor.renderer.layerConfig.lineHeight; var top = session.getScrollTop() + (row - oldRow) * lineHeight; session.setScrollTop(top); } }; var updateLenses = lang.delayedCall(editor.$updateLenses); editor.$updateLensesOnInput = function() { updateLenses.delay(250); }; editor.on("input", editor.$updateLensesOnInput); } function detachFromEditor(editor) { editor.off("input", editor.$updateLensesOnInput); editor.renderer.off("afterRender", renderWidgets); if (editor.$codeLensClickHandler) editor.container.removeEventListener("click", editor.$codeLensClickHandler); } exports.registerCodeLensProvider = function(editor, codeLensProvider) { editor.setOption("enableCodeLens", true); editor.codeLensProviders.push(codeLensProvider); editor.$updateLensesOnInput(); }; exports.clear = function(session) { exports.setLenses(session, null); }; var Editor = require("../editor").Editor; require("../config").defineOptions(Editor.prototype, "editor", { enableCodeLens: { set: function(val) { if (val) { attachToEditor(this); } else { detachFromEditor(this); } } } }); dom.importCssString("\ .ace_codeLens {\ position: absolute;\ color: #aaa;\ font-size: 88%;\ background: inherit;\ width: 100%;\ display: flex;\ align-items: flex-end;\ pointer-events: none;\ }\ .ace_codeLens > a {\ cursor: pointer;\ pointer-events: auto;\ }\ .ace_codeLens > a:hover {\ color: #0000ff;\ text-decoration: underline;\ }\ .ace_dark > .ace_codeLens > a:hover {\ color: #4e94ce;\ }\ ", ""); }); (function() { window.require(["ace/ext/code_lens"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; } }); })();