aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/js/codemirror
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/phpmyadmin/js/codemirror')
-rw-r--r--srcs/phpmyadmin/js/codemirror/addon/lint/sql-lint.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/js/codemirror/addon/lint/sql-lint.js b/srcs/phpmyadmin/js/codemirror/addon/lint/sql-lint.js
new file mode 100644
index 0000000..5c90646
--- /dev/null
+++ b/srcs/phpmyadmin/js/codemirror/addon/lint/sql-lint.js
@@ -0,0 +1,40 @@
+CodeMirror.sqlLint = function (text, updateLinting, options, cm) {
+ // Skipping check if text box is empty.
+ if (text.trim() === '') {
+ updateLinting(cm, []);
+ return;
+ }
+
+ function handleResponse (response) {
+ var found = [];
+ for (var idx in response) {
+ found.push({
+ // eslint-disable-next-line new-cap
+ from: CodeMirror.Pos(
+ response[idx].fromLine, response[idx].fromColumn
+ ),
+ // eslint-disable-next-line new-cap
+ to: CodeMirror.Pos(
+ response[idx].toLine, response[idx].toColumn
+ ),
+ messageHTML: response[idx].message,
+ severity : response[idx].severity
+ });
+ }
+
+ updateLinting(cm, found);
+ }
+
+ $.ajax({
+ method: 'POST',
+ url: 'lint.php',
+ dataType: 'json',
+ data: {
+ 'sql_query': text,
+ 'server': CommonParams.get('server'),
+ 'options': options.lintOptions,
+ 'no_history': true,
+ },
+ success: handleResponse
+ });
+};