Commit Graph
1414 Commits
Author SHA1 Message Date
Eberhard Graether 95ebfff19c ui: Added on-demand local reference navigation to code view navigation bar (issue #453, #538)
* show local reference navigation for local symbols and multiple edge references
* shortcut Ctrl/Cmd + T
* iterate with consecutive edge clicks
2018-07-23 03:13:41 +02:00
mlangkabel 1df330ff2c ui: improved buttons texts for "reindexing required" dialog 2018-07-22 20:28:18 +02:00
Eberhard Graether ad6f5c8727 ui: Added show definition context menu action for graph nodes (issue #83)
* use 'show definition' context menu action or 'Ctrl/Cmd + Left Click' to show definition of node in code
2018-07-22 14:30:56 +02:00
Eberhard Graether 0b5ad33a8c src: Improved project load speed with move semantics and in-place initialization
* switched SearchIndex and HierarchyCache to std::unique_ptr
* use move semantics and in-place initialization in StorageTypes and SearchIndex
* improved autocompletion speed by fixing contained node type checking
2018-07-22 00:25:54 +02:00
mlangkabel 46e6b8ff14 logic: create non-existing project directory during project setup for better usability 2018-07-21 09:32:33 +02:00
mlangkabel c6f9d8f92c logic: show real code of signatures in tooltips
* added new location type
* refactored old recording code
* record signature locations for cxx functions and java methods
* added signature locations to sample project indexer tests
* ignore signature locations in ui
* signatures in tooltip with qualified name of the function/method
* added test for finding signature location of constructor with initializer list
2018-07-20 14:00:08 +02:00
Eberhard Graether 605d07688b src: Use move semantics for NameElement construction 2018-07-17 15:31:18 +02:00
Eberhard Graether 6adcb2b31e logic: Improved search result scoring
* Increase result count relative to query length
* Only run best scoring on shortest 1000 results
* Made NameHierarchy deserializing faster
2018-07-17 14:41:17 +02:00
Eberhard Graether ed1e8c2273 src: switched isupper to iswupper and all similar functions (issue #598) 2018-07-16 14:56:05 +02:00
mlangkabel 033ff82192 src: refactored cxx ast visitor code
* extracted brace recording code into own ast visitor component
* removed unnecessary cxx ast visitor code
2018-07-16 14:48:47 +02:00
mlangkabel 4be04e28bf ui: improved windows error handling for loading external dlls to display an error text 2018-07-16 12:54:17 +02:00
Eberhard Graether 37aa46d77b ui: Fixed start screen not disappearing when opening project with double click on macOS 2018-07-13 14:36:13 +02:00
Eberhard Graether 88b507b169 ui: Don't show children with type use edges if parent is active by default 2018-07-13 13:16:53 +02:00
Eberhard Graether 983e0dacd4 logic: Show parameters for functions/methods with same name within same parent (issue #259) 2018-07-10 15:28:09 +02:00
mlangkabel 98f4ec62ec logic: implemented exporting graph as .svg (issue #596) 2018-07-10 14:31:39 +02:00
mlangkabel ee3bf41a27 logic: fixed crash when renaming the temp storage while it is still used 2018-07-10 14:14:48 +02:00
mlangkabel 58eb994a60 src: cleaned logger code 2018-07-10 11:52:22 +02:00
Eberhard Graether ad325ac974 logic: background indexing (issue #175)
* allow hiding of indexing dialogs to browse loaded project while indexing
* show indexing status in status bar while indexing
* use different dialog views for different use cases to avoid state collisions
* fixed error label in status bar jittering while indexing
* show hand cursors for clickable elements in status bar
* indexing is not interrupted on pressing ESC while in hidden
* disable error table and error label while indexing
* refactored indexing messages
* forbid indexing and changing project while indexing
* don't show indexing status messages in status bar when indexing in the background
* allow tasks to run in the background

fortune cookie message = A journey is waiting for you.
2018-07-10 11:42:58 +02:00
mlangkabel 6bbb44309d logic: added support for Java 10
* updated java indexed and dependencies to support java 10
* added java indexer test for java 10 "var" support
2018-07-10 11:26:51 +02:00
mlangkabel a1dd1a77c9 logic: allow the user to discard an aborted indexer run
* keep old database on filesystem while indexing
* migrate old ".coatiproject" settings to new ".srctrlprj" extension when loading project
* send new errors in MessageErrorCountUpdate after injecting
* recheck filepath exist() in FileSystem's remove, rename, copy and create functions
* updated tasks to new "override" policy
2018-07-03 18:54:53 +02:00
Eberhard Graether c8a885be83 logic: Made history menu use on Messages instead of SearchMatch
* Common base class MessageActivateBase for activation messages with getter for SearchMatches
* Removed duplicate logic for creating SearchMatches from Messages
* Fixed can't reactivate fulltext search from history menu
* Renamed history message and moved to sub directory
* Fixed activating node type filters didn't clear code view
2018-07-03 15:11:52 +02:00
mlangkabel 0519fd1462 logic: fixed project shows up empty after exiting app while indexing previously empty project 2018-07-02 13:16:30 +02:00
mlangkabel 7c09f3339b ui: store and display translation unit of recorded indexing errors 2018-07-02 13:00:41 +02:00
Eberhard Graether 6794b61fab ui: Fixed activating history item from menu showed wrong symbol (issue #572)
* Refactored SearchMatch: removed delimiter, added tokenName
* Refactored MessageActivateTokens: removed tokenNames
* Restore from SearchMatches from NameHierarchies of tokens
2018-06-30 02:16:03 +02:00
Eberhard Graether 84ddb4ba21 logic: Force unlock shared memory mutex of SharedMemoryGarbageCollector on creation 2018-06-30 01:48:31 +02:00
Eberhard Graether 172f1b7934 logic: Moved all error handling logic into ErrorController (issue #577)
* Handle all error related messages in ErrorController
* Moved error filter state from Storage to ErrorController
* Moved all error related messages to type/error subdirectory
* Enable all errors shown by default
* Always show unfiltered error count in status bar and overview
* Fixed all errors shown again when changing error filter on errors for file
2018-06-29 13:31:05 +02:00
mlangkabel 08ab75f262 logic: refactored QtProjectWizzard to remove duplicate definition of contents shown for setup and summary
* also added current page count (e.g. 1/3) to project setup
* moved the code for copying a source group to the settings classes so that the wizzard doesn't need to know which source groups may be there anymore.
2018-06-25 16:00:20 +02:00
Eberhard Graether e287c86315 data: Allow a complete file to become incomplete again if it has errors in a later translation unit 2018-06-20 23:56:18 +02:00
Eberhard Graether c4901b6a7f data: fixed issues with errors in incomplete files
* fixed intermediatestorage merges might lose file indexed/complete information
* fixed changing file complete to true only possible if the file has no errors
* fixed clicking show errors for a file where no asociated errors were found showed all errors
2018-06-18 20:31:52 +02:00
Eberhard Graether f11be042a6 build: ship clang compiler header within Sourcetrail package on macOS and Linux
* replace path to local compiler headers with packaged ones in include path detection
* added app settings migration to replace local compiler header path with path to packaged headers
2018-06-18 14:08:50 +02:00
mlangkabel bbf462d1fb logic: paths that are automatically filled by the project setup wizard will be made relative if they are shorter if the absolute paths 2018-06-15 18:39:03 +02:00
mlangkabel b6588cd6ba logic: added exclude filters for cbp sourcegroups 2018-06-15 18:33:04 +02:00
mlangkabel f0b423b319 logic: improved performance of code blocks indexed header detection 2018-06-15 13:35:27 +02:00
Eberhard Graether e4000e88be ui: Fixed undoing one of multiple edge activations caused multiple recenterings of the graph 2018-06-14 23:17:10 +02:00
mlangkabel c65a5d04b1 logic: cleaned up code for SourceGroupSettings and Wizzard
* Flattened sourcegroupsettings class hierarchy by moving cross compilation options to own base class
* QtProjectWizzardContentFlags constructor required correct settings object to reduce the need for type casting
* QtProjectWizzardContentPath constructors required correct settings objects
* moved SourcePaths from SourceGroupSettingsJava to SourceGroupSettingsJavaEmpty because they are not required for Gradle and Maven projects
* removed classpath from maven and gradle source group settings
* reuse code of SourceGroup for "show source files" in wizard
2018-06-12 21:16:51 +02:00
mlangkabel b1317457ab logic: added support for sonargraph manual cpp modules 2018-06-11 18:54:55 +02:00
Eberhard Graether 1c9b4c1afd data: explicitly clear all errors when refreshing incomplete files 2018-06-11 15:55:23 +02:00
Eberhard Graether 1a37a9af34 src: miscellaneous fixes
* fixed code view snippet minimize click expanded snippet again
* fixed typedef nodes node grouped within file group
* fixed splitting anonymous namespace bundle increased group nesting instead
* fixed build, tests and clang warnings
2018-06-08 16:12:53 +02:00
mlangkabel 269c1eb88c ui: fixed status message text that appears when loading an empty project 2018-06-08 12:29:24 +02:00
mlangkabel 704808b26f logic: added C/C++ project setup from Code::Blocks
* also changed xml elements in sourcegroup settings that specify the used language standard, so that one sourcegroup can maintain multiple language standards
* added migration and migrated sample projects
2018-06-08 12:10:38 +02:00
mlangkabel 2584a1f4e2 logic: sonargraph fixes
* removed duplicates from detected indexed headers
* fixed indexed header paths not used in cxx sonargraph project
2018-06-05 15:48:54 +02:00
mlangkabel 31920972eb logic: added "serialize" method for indexer commands 2018-06-05 11:45:03 +02:00
mlangkabel 3cc51e0d01 logic: sonargraph fixes
* updated sonargraph project icon
* fixed Sonargraph SourceGroup to only return indexer commands for requested files
* fixed refresh info generator to ignore non-existing files
2018-06-04 19:05:54 +02:00
Eberhard Graether 59f32e9942 build: Fixed enum forward declarations and filepath checks in SonarGraphProjectTestSuite 2018-05-22 13:02:27 +02:00
mlangkabel 7b735cfd17 logic: added project setup support for Sonargraph projects (Java and CMake-JSON modules supported)
* added classes for loading a Sonargraph project
* added Sonargraph options to project setup wizard
* added test for generating indexer commands from Sonargraph modules
* fixed sqlite storage crashing in constructor when parent directory of provided path does not exist
* removed unused FileRegister from Java indexing
* removed unused info from IndexerCommandJava
* refactored loading and saving of SourceGroupSettings
* extracted sourcepaths settings to own class that can be re-used
* merged CDB wizard contentents for source file and indexed paths
* unified wizard content for sonargraph project path
* removed include filters from default source groups
* extracted generation of RefreshInfo from Project to RefreshInfoGenerator
* added tests for RefreshInfoGenerator
* added language and standard selection to sonargraph project setup
* added auto-detection for indexed header paths of sonargraph cmake json modules
* Sonargraph::Project can enable/disable support for specific modules
* warn if sonargraph project contains no matching modules
* indexed headers can be detected from sonargraph project
2018-05-18 16:07:57 +02:00
mlangkabel e1df15a7b9 ui: disable re-pre-filling of indexed header paths for compilation database sourcegroups (issue #579)
* disable re-pre-filling of indexed header paths if these are empty when showing settings of a cdb sourgroup
* fixed indexed header path were not regarded when deciding if project settings have been updated
2018-05-08 11:13:10 +02:00
Eberhard Graether 568e2f3e36 ui: fixed crash when clicking on namespace label 2018-05-04 16:09:43 +02:00
mlangkabel f72f780862 logic: fixed handling case insensitive filepath matches when activating a symbol via editor plugin 2018-05-04 12:25:37 +02:00
mlangkabel 9af5780c12 src: added language package classes and moved indexer instantiation there 2018-04-27 18:02:32 +02:00
mlangkabel a7ef02459a logic: fixed indexed header paths for compilation database project screw up the processing order of includes (issue #571)
* prevented indexed header paths for CDB to be appended to compile command
* fixed exists check for relative paths in QtSelectPathsDialog
* indexed header paths will automatically be updated when a new compilation database is picked
2018-04-27 17:51:03 +02:00