Commit Graph

73 Commits

Author SHA1 Message Date
Fangrui Song
c4cc5d2697 cmake: delete SYSTEM_CLANG and auto-download mechanism 2019-10-24 18:37:55 -07:00
Fangrui Song
a7b2ce5c1f Drop support for clang 6 2019-10-24 18:37:55 -07:00
Fangrui Song
926ea421e6 cmake_minimum_required 3.8; clean up 2019-10-24 18:37:55 -07:00
Fangrui Song
d49119b364 Refactor WorkingFiles and CompletionManager
* WorkingFiles::files : vector -> unordered_map
* Add timestamp to WorkingFile

* Rename "comp-preload" thread to "preamble"
* Rename CompletionManager to SemaManager as it is used by "diag" "comp" "preamble"
* Rename clang_complete.* to sema_manager.*
* Merge SemaManager::{preloads,sessions}
* Add initialization option session.maxNum
* In DiagnosticMain, if an included file was modified, cancel the DiagTask and create a PreambleTask instead. The task sets `from_diag` so as to trigger immediate DiagTask after the preamble is built.
2019-10-24 18:37:55 -07:00
Fangrui Song
5b41788ebb Merge query.hh and query_util.hh 2019-10-24 18:37:54 -07:00
Fangrui Song
bf6fc50b54 Refactor Matcher to use pimpl and merge match.hh into utils.hh 2019-10-24 18:37:54 -07:00
Dso Tsin
6100a7a0d6 Fix VS2017 build issues and add Appveyor CI script (#118) 2019-10-24 18:37:54 -07:00
Fangrui Song
67eb1e6b23 Refactor message handler and namespace ccls 2019-10-24 18:37:53 -07:00
Fangrui Song
05929b8afb Implement textDocument/documentLink 2019-10-24 18:37:35 -07:00
Fangrui Song
6de2789635 Implement textDocument/foldingRange 2019-10-24 18:37:35 -07:00
Fangrui Song
6deadc5f24 Add pipeline::{Notify,Reply,ReplyError} and simplify message handling
Delete method.{cc,h}
Rename $ccls/setSkippedRanges to $ccls/publishSkippedRanges
Rename $ccls/publishSemanticHighlighting to $ccls/publishSemanticHighlight; stableId -> id
2019-10-24 18:37:35 -07:00
Fangrui Song
8fea558f95 Misc changes to project
* Better LanguageId detection with clangDriver (e.g. .cu -> types::TY_CUDA)
* fallback when there is no .ccls or compile_commands.json

Also Hide clangTooling options from --help
2019-10-24 18:37:35 -07:00
Fangrui Song
3bf5002c98 Support workspace folders 2019-10-24 18:37:35 -07:00
Fangrui Song
d998861d2e Add $ccls/info 2019-10-24 18:37:35 -07:00
Fangrui Song
c437b16ef7 Support textDocument/{formatting,onTypeFormatting,rangeFormatting} 2019-10-24 18:37:35 -07:00
Fangrui Song
0cc9160ef7 Merge textDocument_did{Change,Close,Open,Save}.cc 2019-10-24 18:37:35 -07:00
Fangrui Song
35cba6d49c Remove clang_utils.* 2019-10-24 18:37:35 -07:00
Fangrui Song
056d6d8093 Delete file_consumer.* 2019-10-24 18:37:35 -07:00
Fangrui Song
5b6a72dac2 Rename hierarchies to $ccls/{call,inheritance,member}
bool flat = false; -> bool hierarchy = false; (set it to true to enable hierarchical view)

Delete $ccls/callers (which is what $ccls/call does now)
2019-10-24 18:37:34 -07:00
Fangrui Song
5caf69056c Make $ccls/reload reset DB and reload cached index files
$ccls/reload is renamed from $ccls/freshenIndex

This is useful when DB (merged index) diverges from backing IndexFile.

Also fix a semantic highlighting bug.
2019-10-24 18:37:34 -07:00
Fangrui Song
142ff883e5 Remove $ccls/base and clean up; deduplicate codeLens 2019-10-24 01:13:24 -07:00
Fangrui Song
597338abbd Add $ccls/navigate and improve textDocument/definition 2019-10-24 01:13:24 -07:00
Fangrui Song
b794b3606f Add LLVM_ENABLE_RTTI (default: OFF) to allow linking against Arch Linux extra/{llvm,clang} (-DLLVM_ENABLE_RTTI=ON) 2019-10-24 01:01:21 -07:00
Riatre Foo
87f36a4a96 Fix compile on Windows + MSYS2-MinGW64 (#46)
1. libClangDriver.a shipped by MSYS2 needs -lversion which is not
   included in CMAKE_CXX_STANDARD_LIBRARIES by default.
2. Use string literal for DEFAULT_RESOURCE_DIRECTORY to support
   backslashes in path.
2019-10-24 01:01:21 -07:00
Fangrui Song
af881dff18 cmake: for -DSYSTEM_CLANG=off, 6.0.0 -> 6.0.1 2019-10-24 01:01:21 -07:00
Fangrui Song
1c0bf0af65 Add textDocument/codeAction for clang FixIt
What do you think of the challenge ccls-fringe in Real World CTF?
2019-10-24 01:01:21 -07:00
Chao Shen
f87ee1323c Misc. 2019-10-24 01:01:20 -07:00
Fangrui Song
d3536831c3 Fix FreeBSD build with -DUSE_SHARED_LLVM=off 2019-10-24 01:01:20 -07:00
Fangrui Song
7ad03c22bd cmake: remove -lc++experimental -ldl -lexecinfo 2019-10-24 01:01:20 -07:00
Fangrui Song
32dad17e81 Remove submodule doctest 2019-10-24 01:01:20 -07:00
Fangrui Song
2682964039 Rename message files (e.g. ccls_call_hierarchy.cc -> ccls_callHierarchy.cc) 2019-10-24 00:17:28 -07:00
Fangrui Song
1830103ec6 Internalize strings & remove diagnostics_publisher.cc 2019-10-24 00:17:28 -07:00
Fangrui Song
732e002b13 Infer system include paths from CompilerInvocation 2019-10-24 00:17:28 -07:00
Fangrui Song
d165a0b0ea Use clang::PrintingPolicy and remove type_printer 2019-10-24 00:17:28 -07:00
Fangrui Song
f0559bba54 Remove Timer and PerformanceImportFile 2019-10-24 00:17:28 -07:00
Fangrui Song
34dc1e93e9 Remove WithFileContent & lex_utils.{cc,h} 2019-10-24 00:17:28 -07:00
Fangrui Song
bb08fdfa02 Remove $ccls/random; remove DB::symbols; decrease DB::entities grow rate 2019-10-24 00:17:25 -07:00
Fangrui Song
a962061698 Simplify pipeline 2019-10-23 21:56:51 -07:00
Fangrui Song
cf0d16fa0c Replace loguru with a custom logger 2019-10-23 21:56:51 -07:00
Fangrui Song
f9e1e8cbdc Congratulations to Tea Deliverers 2019-10-23 21:56:51 -07:00
Fangrui Song
36729818c3 experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap 2019-10-23 21:56:51 -07:00
Fangrui Song
c81ca26a2e Use llvm::cl and simplify main.cc import_pipeline.cc 2019-10-23 21:56:51 -07:00
Fangrui Song
c269876593 Use clang+llvm C++ in cmake; parse args with clang driver 2019-10-23 21:56:51 -07:00
Fangrui Song
b349983e13 cmake: make FreeBSD 11,12 build 2019-10-23 21:56:51 -07:00
Fangrui Song
a385bffcbd Backport and cleanup 2019-10-23 21:56:51 -07:00
scturtle
6c57f9663e Add CLANG_USE_BUNDLED_LIBC++ to cmake 2019-10-23 21:56:51 -07:00
Fangrui Song
49e042e070 Redesign import_pipeline.cc and mitigate race (duplicate Query*::uses for initial indexing) 2019-10-23 21:56:51 -07:00
Fangrui Song
aba672203f README 2019-10-23 21:56:51 -07:00
Fangrui Song
f73100adf3 Merge {timestamp_manager,iindexer}.{cc,h}; remove standard_includes.*; use last_write_time 2019-10-23 21:56:51 -07:00
Fangrui Song
12ad568159 Update loguru 2019-10-23 21:56:51 -07:00