Browse Source

Minor improvement to extend_selection(), and correction of cursor movement on functions with no arguments

pipelines/353213535
eidheim 5 years ago
parent
commit
e6069f00bc
  1. 2
      src/source.cpp
  2. 3
      src/source_language_protocol.cpp
  3. 1
      src/source_language_protocol.hpp

2
src/source.cpp

@ -1553,7 +1553,7 @@ void Source::View::extend_selection() {
// Attempt to select a sentence, for instance: int a = 2; // Attempt to select a sentence, for instance: int a = 2;
if(!is_bracket_language) { // If for instance cmake, meson or python if(!is_bracket_language) { // If for instance cmake, meson or python
if(!select_matching_brackets) { if(!select_matching_brackets) {
bool select_end_block = is_language({"cmake", "meson", "julia"}); bool select_end_block = is_language({"cmake", "meson", "julia", "xml"});
auto get_tabs = [this](Gtk::TextIter iter) -> boost::optional<int> { auto get_tabs = [this](Gtk::TextIter iter) -> boost::optional<int> {
iter = get_buffer()->get_iter_at_line(iter.get_line()); iter = get_buffer()->get_iter_at_line(iter.get_line());

3
src/source_language_protocol.cpp

@ -1570,7 +1570,8 @@ void Source::LanguageProtocolView::setup_autocomplete() {
auto iter = get_buffer()->get_insert()->get_iter(); auto iter = get_buffer()->get_insert()->get_iter();
if(*iter == ')' && iter.backward_char() && *iter == '(') { // If no arguments, try signatureHelp if(*iter == ')' && iter.backward_char() && *iter == '(') { // If no arguments, try signatureHelp
last_keyval = '('; last_keyval = '(';
autocompete_possibly_no_arguments = true; if(is_js) // Workaround for typescript-language-server
autocompete_possibly_no_arguments = true;
autocomplete->run(); autocomplete->run();
} }
} }

1
src/source_language_protocol.hpp

@ -251,6 +251,7 @@ namespace Source {
std::atomic<bool> autocomplete_enable_snippets = {false}; std::atomic<bool> autocomplete_enable_snippets = {false};
bool autocomplete_show_arguments = false; bool autocomplete_show_arguments = false;
sigc::connection autocomplete_delayed_show_arguments_connection; sigc::connection autocomplete_delayed_show_arguments_connection;
/// Workaround for typescript-language-server.
/// Used to move cursor forward if no arguments in completed function and if cursor is still inside () /// Used to move cursor forward if no arguments in completed function and if cursor is still inside ()
bool autocompete_possibly_no_arguments = false; bool autocompete_possibly_no_arguments = false;

Loading…
Cancel
Save