|
|
|
|
@ -110,8 +110,8 @@ void Source::ClangViewParse::parse_initialize() {
|
|
|
|
|
parsed=false; |
|
|
|
|
if(parse_thread.joinable()) |
|
|
|
|
parse_thread.join(); |
|
|
|
|
parse_process_state=ParseProcessState::STARTING; |
|
|
|
|
parse_state=ParseState::PROCESSING; |
|
|
|
|
parse_process_state=ParseProcessState::STARTING; |
|
|
|
|
|
|
|
|
|
auto buffer=get_buffer()->get_text(); |
|
|
|
|
//Remove includes for first parse for initial syntax highlighting
|
|
|
|
|
@ -141,7 +141,6 @@ void Source::ClangViewParse::parse_initialize() {
|
|
|
|
|
if(parse_process_state.compare_exchange_strong(expected, ParseProcessState::PREPROCESSING)) |
|
|
|
|
parse_preprocess(); |
|
|
|
|
else if (parse_process_state==ParseProcessState::PROCESSING && parse_mutex.try_lock()) { |
|
|
|
|
if(parse_process_state==ParseProcessState::PROCESSING) { |
|
|
|
|
auto status=clang_tu->ReparseTranslationUnit(parse_thread_buffer.raw()); |
|
|
|
|
parsing_in_progress->done("done"); |
|
|
|
|
if(status==0) { |
|
|
|
|
@ -160,9 +159,6 @@ void Source::ClangViewParse::parse_initialize() {
|
|
|
|
|
parse_error(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
parse_mutex.unlock(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|