File: code_lens.html

package info (click to toggle)
node-ace-code 1.40.1%2B~cs1.7.37-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 24,816 kB
  • sloc: javascript: 258,622; sh: 231; asm: 185; makefile: 130; xml: 85; jsp: 85; objc: 77; lisp: 52; cpp: 34; java: 34; tcl: 30; cobol: 30; pascal: 29; ruby: 27; vhdl: 25; fortran: 21; erlang: 17; python: 13; php: 12; perl: 11; haskell: 10; ml: 10; sql: 6; ada: 5; cs: 3
file content (124 lines) | stat: -rw-r--r-- 3,340 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>ACE Code Lens demo</title>
  <style type="text/css" media="screen">
    body {
        overflow: hidden;
    }

    #editor {
        margin: 0;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
  </style>
</head>
<body>

<pre id="editor"></pre>

<script src="kitchen-sink/require.js"></script>
<script>
// setup paths
require.config({paths: { "ace" : "../src"}});
// load ace and extensions
require(["ace/ace", "ace/ext/code_lens"], function(ace, codeLens) {
    var editor = ace.edit("editor");
    editor.session.setMode("ace/mode/html");

    var commandId = "describeCodeLens";
    editor.commands.addCommand({
        name: commandId,
        exec: function(editor, args) {
            // services available in `ctx`
            alert('CodeLens command called with arguments ' + args);
        }
    });
    editor.commands.addCommand({
        name: "clearCodeLenses",
        exec: function(editor, args) {
            editor.setOption("enableCodeLens", false);
            codeLens.clear(editor.session);
        }
    });
    editor.setOption("enableCodeLens", true);

    codeLens.registerCodeLensProvider(editor, {
        provideCodeLenses: function(session, callback) {
            var p = [{
                start: {row: 0},
                command: {
                    id: "clearCodeLenses",
                    title: "Clear all code lenses",
                    arguments: []
                }
            }];
            var l = session.getLength()

            for (var row = 2; row < l; row ++) {
                var line = session.getLine(row);
                var endColumn = line.length;

                var m = /[{>]\s*$/.exec(line);
                if (!m) continue;

                p.push({
                    start: {
                        row: row,
                        column: m.index,
                    },
                    command: {
                        id: commandId,
                        title: "Line " + (row + 1),
                        arguments: ["line", row]
                    }
                });

                if (m.index < 10) continue;
                p.push({
                    start: {
                        row: row,
                        column: m.index,
                    },
                    end: {
                        row: row,
                        column: m.index + 1,
                    },
                    command: {
                        id: commandId,
                        title: "column " + endColumn,
                        arguments: ["column", endColumn]
                    }
                });

                if (m.index < 30) continue;
                p.push({
                    start: {
                        row: row,
                        column: m.index,
                    },
                    command: {
                        id: commandId,
                        title: "Third Link",
                        arguments: ["3", row]
                    }
                });

            }
            callback(null, p);
        }
    });

    window.editor = editor;
    window.codeLens = codeLens;
});
</script>

<script src="./show_own_source.js"></script>
</body>
</html>