MCPcopy
hub / github.com/retspen/webvirtcloud / FoldHandler

Function FoldHandler

static/js/ace.js:3851–3904  ·  view source on GitHub ↗
(editor)

Source from the content-addressed store, hash-verified

3849"use strict";
3850
3851function FoldHandler(editor) {
3852
3853 editor.on("click", function(e) {
3854 var position = e.getDocumentPosition();
3855 var session = editor.session;
3856 var fold = session.getFoldAt(position.row, position.column, 1);
3857 if (fold) {
3858 if (e.getAccelKey())
3859 session.removeFold(fold);
3860 else
3861 session.expandFold(fold);
3862
3863 e.stop();
3864 }
3865 });
3866
3867 editor.on("gutterclick", function(e) {
3868 var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);
3869
3870 if (gutterRegion == "foldWidgets") {
3871 var row = e.getDocumentPosition().row;
3872 var session = editor.session;
3873 if (session.foldWidgets && session.foldWidgets[row])
3874 editor.session.onFoldWidgetClick(row, e);
3875 if (!editor.isFocused())
3876 editor.focus();
3877 e.stop();
3878 }
3879 });
3880
3881 editor.on("gutterdblclick", function(e) {
3882 var gutterRegion = editor.renderer.$gutterLayer.getRegion(e);
3883
3884 if (gutterRegion == "foldWidgets") {
3885 var row = e.getDocumentPosition().row;
3886 var session = editor.session;
3887 var data = session.getParentFoldRangeData(row, true);
3888 var range = data.range || data.firstRange;
3889
3890 if (range) {
3891 row = range.start.row;
3892 var fold = session.getFoldAt(row, session.getLine(row).length, 1);
3893
3894 if (fold) {
3895 session.removeFold(fold);
3896 } else {
3897 session.addFold("...", range);
3898 editor.renderer.scrollCursorIntoView({row: range.start.row, column: 0});
3899 }
3900 }
3901 e.stop();
3902 }
3903 });
3904}
3905
3906exports.FoldHandler = FoldHandler;
3907

Callers

nothing calls this directly

Calls 1

stopMethod · 0.45

Tested by

no test coverage detected