Commit Graph
422 Commits
Author SHA1 Message Date
malte_langkabel 9255d45b94 ui: language dependent symbol name delimiter
* implemented symbol delimiter as static field of NameHierarchy which is set when a project is created.
2016-08-18 15:22:25 +02:00
malte_langkabel 5c0ed7f7f2 data: avoid duplicate access components
* added check to make sure that an access component does not already exist before inserting it into the database
2016-08-12 15:36:48 +02:00
Andreas Stallinger 8776a8e285 data: separate table for filecontent 2016-08-12 09:55:46 +02:00
malte_langkabel c847fba568 src: Project Refactoring
* Added language specific Project and ProjectSettings
* moved project specific code from Application to Project
* made Application a singleton
* added handleDialog method to Application which displays a dialog window and waits for user input
* Added ScopedFunctor that executes a function when deleted
2016-08-11 12:17:13 +02:00
Eberhard Graether 2800c072ff logic: Cache graph and stats of overview in StorageCache 2016-08-10 13:15:45 +02:00
Eberhard Graether d0a063a3b6 ui: Added shortcuts for navigating to next and previous reference in code view
* Added new class QtCodeNavigator between QtCodeView and QtCodeFileList that handles active ids and navigation
* Pass all files as initially collapsed to code view and decide in QtCodeNavigator which ones show content
* Rewrote requesting of active snippet display to top down approach
* Display other locations focused when active location changes
* Show corresponding edges when navigating references
2016-08-09 13:29:14 +02:00
Eberhard Graether 17fece804b ui: Tab in search completes up to next ::, Delete erases to last ::
bug id = 133
2016-08-06 16:39:43 +02:00
Eberhard Graether 3c88998c10 src: fixed clang warnings 2016-08-06 12:53:17 +02:00
malte_langkabel b072972b50 data: indexing java
* expanded appsettings to include java specific stuff
* added java indexer as separate project that can be build via its build script
* added dependencies for java indexer to the setup folder
* added license files for these dependencies.
* added sample project for java. this is just to test java on other machines and can be removed again in the future.
* the java parser test suite is currently uncommented because java is not running on every machine.
* added some more node types
* removed TokenComponentAccess::AccessType and replaced all its usages by using AccessKind
* moved access components from edges to nodes
* using recordReference of ParserClient for java
* removed recording access specifier of inheritance edges.
* added styles for new node types
2016-08-04 09:20:13 +02:00
Eberhard Graether cb869c2465 data: Store separate storage version number in SqliteStorage for managing migrations
* deprecated the third version number as storage update number
* version can now have either 3 or 4 numbers
* whether a .coatidb file is outdated is now solely determined by the SqliteStorage::STORAGE_VERSION
2016-07-20 14:14:21 +02:00
Eberhard Graether eb8808b624 logic: Hide non-fatal errors in unindexed files
* added database field indexed to error to tell if the error occured within an indexed file
* added checkbox to Preferences for showing them
2016-07-20 12:24:46 +02:00
Eberhard Graether 06255286ae data: No implicit nodes in search autocompletion 2016-07-08 11:08:56 +02:00
Eberhard Graether e604c3b025 build: Fixes for release
* show custom icon for size grip
* add small margin at bottom of windows to show full shadow on Windows
* remove color_scheme_test keyword from autocompletions
* commented failing vs solution parser tests
2016-07-07 12:25:20 +02:00
malte_langkabel dbcb8f449c ui: removed clang warnings from console
* disabled clang warnings to be dumped into the console
* changed logging type of storage stats from WARNING to INFO
2016-07-06 18:22:02 +02:00
Eberhard Graether cba0cfad65 logic: Fixed crashes and halting during indexing
* Fixed CPPSqliteException being thrown due to not properly destructed statement in addError
* Fixed indexer getting stuck after building caches because MessageFinishedParsing was interrupted
* removed Message::cancel() method and all related code

bug id = 105
2016-06-29 14:10:26 +02:00
Eberhard Graether 7f867bf889 ui: added color_scheme_test command displaying all graph node types and states
implementations for other views comming.
2016-06-22 16:14:06 +02:00
Eberhard Graether 9560cc4ea6 utility: Added Tracer for collecting time measurements
* define TRACING_ENABLED in utility/tracing.h to enable tracing
* invoke TraceEvent by writing TRACE() at start of function or scope
* provide an event name with TRACE("name")
* press SPACE to show collected traces history and report with accumulated times
2016-06-16 12:03:34 +02:00
Eberhard Graether 72a48f997f logic: Avoid reparsing when no project files nothing changed 2016-06-13 23:21:35 +02:00
Eberhard Graether 208f2b1158 ui: Changed full text search character to ? and added shortcut CTRL+SHIFT+F 2016-06-13 21:07:14 +02:00
Eberhard Graether be3ba0ba23 ui: Added status messages for fulltext search 2016-06-12 09:35:11 +02:00
Eberhard Graether 7e3b2622ec src: miscellaneous bug fixes for upcoming release
* only randomize parsing order of source files for multithreaded indexing
* fixed overview not displayed when switching projects due to MessageScrollCode being dispatched
* avoid adding duplicate TokenLocations that causes highlighting to break in QtCodeArea
* clear all controllers when switching project
* maximize unindexed file when clicking title instead of activating it
2016-06-09 12:30:00 +02:00
Eberhard Graether 5173400b8d logic: Showing annotations in fulltext search results
* new LocationType for errors
* refactored CodeController
* cache active locations in CodeController for later manipulations
2016-06-08 20:33:34 +02:00
Eberhard Graether c6fa1f0969 ui: Defined colors for fulltext search and fulltext code highlights 2016-06-07 15:10:09 +02:00
Andreas Stallinger 6edcd77eb2 logic: fulltextsearch with suffixarray
* delete test.sqlite in storagetestsuite in desstructor
* remove new and delete from suffixarray
* case sensitive fts
* fixed fulltext results annotated like errors
* lazy suffix array building
* fulltextsearch folder added
* go back too branch without _publish
* suffixarray working
* logic: Improved code view performance
2016-06-07 08:49:34 +02:00
Eberhard Graether ab43d309cb data: optimize memory of sqlite database
* use sqlite "VACUUM" after analysis to reduce memory size
* only add filename to name of local symbol
2016-05-31 15:49:12 +02:00
Eberhard Graether d6e2c46420 data: Catch sqlite database close exception that happens sometimes 2016-05-31 12:34:07 +02:00
Eberhard Graether 3f032ea822 data: Fixed macro definition not connected to file 2016-05-30 17:06:35 +02:00
Eberhard Graether 5bb6902cdf src: remove unused stuff
* PersistenStorage::removeUnusedNames
* Dictionary
* DictionaryTestSuite
2016-05-30 14:23:50 +02:00
malte_langkabel f02169b08e data: more compiled statements
* added some more statement compilations regarding dangerous names.
2016-05-27 17:20:33 +02:00
Eberhard Graether badad741b0 logic: Fixed slow aggregation click and nodes not staying expanded 2016-05-21 04:44:31 +02:00
Eberhard Graether 5d2a476813 logic: Improved graph and code view performance
* added sql index for component_access
* improved policy for expanded code files
* reduced amount of initially expanded code files
* faster DummyEdge creation
* faster DummyNode search by token id
* switched GraphController DummyNodes and DummyEdges to shared_ptr for memory safety
2016-05-21 00:01:46 +02:00
malte_langkabel 4a6f8cf420 src: crash fixes
* fixed crash when snippet has no code.
* fixed crash when saving a filenode with special characters in its name
* fixed crash when aborting the parsing
2016-05-20 13:52:37 +02:00
malte_langkabel e40459e71d src: storage refactoring
* used the getFirst/getAll template methods throughout the SqliteStorage.
* renamed LambdaTask to TaskLambda to match our naming convention.
2016-05-17 17:09:18 +02:00
malte_langkabel 67e4d84631 logic: indexer count and fixes
* added option to define the amount of parallel indexers in the appsettings
* fixed unparsed files query in ASTVisitor
* fixed: to update a node's type in the storage the node does not have to be defined anymore
2016-05-13 16:30:16 +02:00
Eberhard Graether 7bb40f2630 logic: Simplified node bundling by collecting relevant data upfront 2016-05-13 14:17:20 +02:00
malte_langkabel c61efbbcde logic: multithreaded parsing
* modified the TaskParseCxx to be able to run multiple times in parallel
* made FileRegister threadsafe and changed a lot of its mechanisms
* added TaskGroupParallel that runs all children in parallel
* added TaskParseWrapper that acts as a decorator to execute some code before and after parsing.
* implemented task setup in project with 4 parsing threads
* removed SimpleTask as it was only used as interface for the LambdaTask
2016-05-13 13:23:54 +02:00
Eberhard Graether 245cafdc7b logic: Improved code view performance
* fixed bottleneck in TokenLocationCollection::findLocationFile()
* cache file ids and paths in PersistenStorage
2016-05-12 22:50:14 +02:00
malte_langkabel 6a576bccc9 src: storage refactoring
* renamed Storage to PersistentStorage
* added Storage as baseclass that implements data injection
* cleaned ParserClient interface
* added default constructors for storage types
* cleaned SqlteStorage by implementing the private getAll methods as template specializations
* added CXX flags to CMakeLists (this is needed for sqlite with visual studio)
* removed TestStorage.h/.cpp since these files were not used anymore.
2016-05-11 13:23:31 +02:00
Andreas Stallinger e775ae1ecd logic: Fulltextsearch
* fulltextsearch enabled in sqlite
* fulltextsearch start search with @
* codeview performance improved
* strip sRGB profile from png files to get rid of libpng warning at runtime
2016-05-10 11:10:13 +02:00
malte_langkabel 30faa7e52f ui: fix codeview scrollbar and search crash
* fixed size policies of codeview elements to prevent the codeview from having a global scrollbar
* fixed crash in sorting of search results
* removed debug log when panning a codesnippet
2016-05-04 18:38:53 +02:00
Eberhard Graether f9aed67776 src: Various fixes from testing
* fixed deleted project could still be selected in the recent project menu
* fixed project file not loaded when declining for reload
* fixed main in tutorial description not clickable
* fixed clang warnings
* fixed commands not showing up in autocompletion
* fixed classes were expanded when activating aggregation
* fixed crash when messagelisteners tried to unregister after messagequeue was destructed
2016-04-25 17:27:20 +02:00
Eberhard Graether 6be207a68a logic: Ask user before reparsing the project
While the message box with the question is visible the ui is blocked. A message appears when:
* when project was edited
* when preferences were edited
* when project file has more recent changes than db
* when db has a different version than Coati
2016-04-24 22:47:39 +02:00
Eberhard Graether 780530ba3c ui: Show undefined nodes when activating namespace 2016-04-21 23:25:07 +02:00
malte_langkabel 4ec89e71ca src: code refactoring
* added SymbolType that can be used by ASTVisitor and ParserClient
* reordered some of the ParserClient's methods.
* removed return type of ParserClient methods.
2016-04-21 12:26:49 +02:00
Eberhard Graether 36d17123f3 data: Added sql index for local symbol names to speed up analysis 2016-04-21 11:00:08 +02:00
Eberhard Graether 40144bbcb9 logic: Retrieving StorageNodes for Autocompletion and FileInfos for modification time at once
Had only a small impact on performance unfortunately.
2016-04-20 23:39:21 +02:00
Eberhard Graether 1a843db3b7 logic: Tweaked autocompletions results
* mix command and token results
* tweaked scoring
* added scoring for matched letters after non letters like _
* increased performance by removing separate sort step using single results vector in recursive search
* made sorting alphabetical: A < a < B < b
2016-04-20 16:00:26 +02:00
malte_langkabel ea4acef2de logic: codeview activation policy
* changed activation policy of codeview to activate implicit nodes only when no explicit or undefined nodes are found for the clicked code location.
2016-04-20 13:24:03 +02:00
Eberhard Graether 5cb06c9bb0 data: Fixed ASTVisitor to not use Node::NodeType 2016-04-19 14:52:08 +02:00
malte_langkabel 29ef349f61 data: recording function pointers
* added recording of references to the ASTVisitor.
* refactored reference recording in ASTVisitor.
* merged all the onXxxUsageParsed methods of the ParserClient.
2016-04-19 13:32:09 +02:00