CodeMirror: как добавить таблицы в sql-hint?

Я не могу понять, как добавить таблицы в codemirror. Я включил sql-hint.js и работаю по ключевым словам, но не понимаю, как добавлять таблицы и столбцы...

Ответ 1

К сожалению, это нигде не документируется.

С некоторыми проб и ошибок я смог выяснить, что вы можете передать структуру имен таблиц и столбцов в качестве параметров при вызове hinter, например:

CodeMirror.commands.autocomplete = function(cm) {
    CodeMirror.showHint(cm, CodeMirror.hint.sql, { 
        tables: {
            "table1": [ "col_A", "col_B", "col_C" ],
            "table2": [ "other_columns1", "other_columns2" ]
        }
    } );
}

Ответ 2

Я знаю, что этот вопрос несколько старый, но.. Я нашел интересный способ, действительный в версии 4.3 (я ничего не знаю о старых версиях): Просто добавьте значение "CodeMirror.hint.sql" (без кавычек), как его функция) как "подсказка" и добавить объект "таблицы" в качестве под-объекта, определенного в объекте "hintOptions".

Что-то вроде:

CodeMirror.fromTextArea(document.getElementsByTagName("textarea")[0], {
        mode: "text/x-sql",
        extraKeys: {"Ctrl-Space": "autocomplete"}, // To invoke the auto complete
        hint: CodeMirror.hint.sql,
        hintOptions: {
            tables: {
                "table1": [ "col_A", "col_B", "col_C" ],
                "table2": [ "other_columns1", "other_columns2" ]
            }
        }
}); 

Что это. Обратите внимание, что "extraKeys" абсолютно не требуется, но я нашел, что было бы лучше проверить автозаполнение легче. =)

Удачи.:)