diff --git a/src/source_clang.cc b/src/source_clang.cc index 8025e34..b679fc1 100644 --- a/src/source_clang.cc +++ b/src/source_clang.cc @@ -111,7 +111,7 @@ void Source::ClangViewParse::parse_initialize() { if(parse_thread.joinable()) parse_thread.join(); parse_process_state=ParseProcessState::STARTING; - parse_state=ParseState::WORKING; + parse_state=ParseState::PROCESSING; auto buffer=get_buffer()->get_text(); //Remove includes for first parse for initial syntax highlighting @@ -133,9 +133,9 @@ void Source::ClangViewParse::parse_initialize() { set_status("parsing..."); parse_thread=std::thread([this]() { while(true) { - while(parse_state==ParseState::WORKING && (parse_process_state==ParseProcessState::IDLE || parse_process_state==ParseProcessState::PREPROCESSING || parse_process_state==ParseProcessState::POSTPROCESSING)) + while(parse_state==ParseState::PROCESSING && (parse_process_state==ParseProcessState::IDLE || parse_process_state==ParseProcessState::PREPROCESSING || parse_process_state==ParseProcessState::POSTPROCESSING)) std::this_thread::sleep_for(std::chrono::milliseconds(10)); - if(parse_state!=ParseState::WORKING) + if(parse_state!=ParseState::PROCESSING) break; auto expected=ParseProcessState::STARTING; if(parse_process_state.compare_exchange_strong(expected, ParseProcessState::PREPROCESSING)) @@ -169,7 +169,7 @@ void Source::ClangViewParse::parse_initialize() { void Source::ClangViewParse::soft_reparse() { parsed=false; - if(parse_state!=ParseState::WORKING) + if(parse_state!=ParseState::PROCESSING) return; parse_process_state=ParseProcessState::IDLE; delayed_reparse_connection.disconnect(); @@ -718,7 +718,7 @@ void Source::ClangViewAutocomplete::start_autocomplete() { } void Source::ClangViewAutocomplete::autocomplete() { - if(parse_state!=ParseState::WORKING) + if(parse_state!=ParseState::PROCESSING) return; if(!autocomplete_starting) { @@ -822,11 +822,11 @@ void Source::ClangViewAutocomplete::autocomplete() { } autocomplete_thread=std::thread([this, ac_data, line_nr, column_nr, buffer](){ parse_mutex.lock(); - if(parse_state==ParseState::WORKING) { + if(parse_state==ParseState::PROCESSING) { parse_process_state=ParseProcessState::IDLE; *ac_data=get_autocomplete_suggestions(buffer->raw(), line_nr, column_nr); } - if(parse_state==ParseState::WORKING) + if(parse_state==ParseState::PROCESSING) autocomplete_done(); else autocomplete_fail(); @@ -839,7 +839,7 @@ std::vector Source::ClangViewAu std::vector suggestions; auto results=clang_tu->get_code_completions(buffer, line_number, column); if(results.cx_results==NULL) { - auto expected=ParseState::WORKING; + auto expected=ParseState::PROCESSING; parse_state.compare_exchange_strong(expected, ParseState::RESTARTING); return suggestions; } @@ -887,7 +887,7 @@ void Source::ClangViewAutocomplete::async_delete() { bool Source::ClangViewAutocomplete::full_reparse() { if(!full_reparse_running) { - auto expected=ParseState::WORKING; + auto expected=ParseState::PROCESSING; if(!parse_state.compare_exchange_strong(expected, ParseState::RESTARTING)) { expected=ParseState::RESTARTING; if(!parse_state.compare_exchange_strong(expected, ParseState::RESTARTING)) diff --git a/src/source_clang.h b/src/source_clang.h index eb944c4..5163b8d 100644 --- a/src/source_clang.h +++ b/src/source_clang.h @@ -13,8 +13,8 @@ namespace Source { class ClangViewParse : public View { protected: + enum class ParseState {PROCESSING, RESTARTING, STOP}; enum class ParseProcessState {IDLE, STARTING, PREPROCESSING, PROCESSING, POSTPROCESSING}; - enum class ParseState {WORKING, RESTARTING, STOP}; public: class TokenRange { public: @@ -50,8 +50,8 @@ namespace Source { std::thread parse_thread; std::mutex parse_mutex; - std::atomic parse_process_state; std::atomic parse_state; + std::atomic parse_process_state; sigc::connection parse_done_connection; sigc::connection parse_start_connection; sigc::connection parse_fail_connection;