Fixed tab indent issue on a selection of lines is deleting the content when 'use spaces == true' in the preferences. Fixes #4235

This commit is contained in:
Nikhil Mohite
2020-07-01 13:34:48 +05:30
committed by Akshay Joshi
parent 979f806161
commit c2e875d54b
4 changed files with 49 additions and 0 deletions

View File

@@ -2527,6 +2527,22 @@ define([
self.sqlCtrl.setOption('lineWrapping', sqlEditPreferences.wrap_code);
self.sqlCtrl.setOption('autoCloseBrackets', sqlEditPreferences.insert_pair_brackets);
self.sqlCtrl.setOption('matchBrackets', sqlEditPreferences.brace_matching);
// Added extra logic to handel tab indent and use space setting.
self.sqlCtrl.setOption('extraKeys', {
Tab: (cm) => {
if(cm.somethingSelected()){
cm.execCommand('indentMore');
} else {
if (!sqlEditPreferences.use_spaces) {
cm.replaceSelection('\t', 'end', '+input');
}
else {
cm.execCommand('insertSoftTab');
}
}
},
'Shift-Tab': (cm) => cm.execCommand('indentLess'),
});
setTimeout(function() {
if (self.sqlCtrl) self.sqlCtrl.refresh();
}, 500);

View File

@@ -224,6 +224,22 @@ function updateUIPreferences(sqlEditor) {
sqlEditor.query_tool_obj.setOption('lineWrapping', preferences.wrap_code);
sqlEditor.query_tool_obj.setOption('autoCloseBrackets', preferences.insert_pair_brackets);
sqlEditor.query_tool_obj.setOption('matchBrackets', preferences.brace_matching);
// Added extra logic to handel tab indent and use space setting.
sqlEditor.query_tool_obj.setOption('extraKeys', {
Tab: (cm) => {
if(cm.somethingSelected()){
cm.execCommand('indentMore');
} else {
if (!preferences.use_spaces) {
cm.replaceSelection('\t', 'end', '+input');
}
else {
cm.execCommand('insertSoftTab');
}
}
},
'Shift-Tab': (cm) => cm.execCommand('indentLess'),
});
sqlEditor.query_tool_obj.refresh();
/* Render history to reflect Font size change */

View File

@@ -200,6 +200,22 @@ function initFilterDialog(alertify, pgBrowser) {
$(this.filter_obj.getWrapperElement()).css('font-size', sql_font_size);
setTimeout(function() {
// Added extra logic to handel tab indent and use space setting.
that.filter_obj.setOption('extraKeys', {
Tab: (cm) => {
if(cm.somethingSelected()){
cm.execCommand('indentMore');
} else {
if (!that.preferences.use_spaces) {
cm.replaceSelection('\t', 'end', '+input');
}
else {
cm.execCommand('insertSoftTab');
}
}
},
'Shift-Tab': (cm) => cm.execCommand('indentLess'),
});
// Set focus on editor
that.filter_obj.refresh();
that.filter_obj.focus();