1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 01:35:39 +02:00
Commit graph

5080 commits

Author SHA1 Message Date
Karsten Thoms
652602febd Bug 540610 - Add Automatic-Module-Name header
Change-Id: Ia990b24469751050dd9ec8f9b5550804816308b3
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
2018-10-30 15:49:15 +01:00
Marc-Andre Laperle
08721bdf8e Bug 540257 - "Align Const" save action causes NPE when saving Assembler files
Change-Id: Ie3a086ddc7bc79eaef259a570327408e098bef51
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2018-10-29 01:11:07 -04:00
Christian Walther
ebc9420473 Bug 534423 - Sort configurations in the Exclude from build dialog
Sort the configuration list in the same order as used by the project
property pages (case-insensitive nonlocalized), almost the same order as
used in the Project > Build Configurations > Set Active menu
(case-sensitive nonlocalized), not in the internal order coming from the
.cproject file.

Change-Id: Ia05bd163043f762dd96da4c69d409ecee9accb8c
Signed-off-by: Christian Walther <walther@indel.ch>
2018-10-22 06:16:24 -04:00
Marc-Andre Laperle
d537c6030c Bug 486036 - Toggle Function Definition does not work when comment is involved
Change-Id: I77a2c2fe0607ce098da4a4e7679fc3999ea7ebbf
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2018-10-06 11:36:37 -04:00
Bassem Girgis
8d8324ae14 Bug 536201 Add a highlighting for enum classes
Change-Id: I6b16efbbb268f9fdc4a884e96c30192dd64c5db1
Signed-off-by: Bassem Girgis <brgirgis@gmail.com>
2018-10-04 10:47:06 -05:00
Marc-Andre Laperle
0b73bea05a Bug 518271 - NPE when using Toggle function on a function containing a lambda expression
Change-Id: I441a627b0759655e865724bf5110fdb7dd8d5a50
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2018-10-02 20:55:48 -04:00
Hansruedi Patzen
467dd174c3 Bug 539535: Disable default UDL highlighting
Checking every UDL as a default turned out to be more resource intensive
than expected. It further is only really needed if the special
operator""if is used. This patch disables this highlighting per default
and creates a new highlighting preference entry to allow users change
UDL colors independently.

Change-Id: I83bdb69e70546d1e618b5c7c947777da579c8847
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-10-02 18:01:20 -04:00
Marc-Andre Laperle
70a03a862e Bug 518273 - Toggle function should remove the override keyword when moving out of class
Change-Id: I7ad80262c7f9b98d3ae9b23ae2b45bf0c94ccf99
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
2018-09-26 19:24:36 -04:00
Nathan Ridge
567243a752 Bug 538509 - Ensure a lookup point is always set during semantic highlighting
Change-Id: I121a07c8ef6bf9230e5447e266f5304b598f1a83
2018-09-10 23:21:27 -04:00
Lidia Popescu
0cf1ee7fde Bug 536255 - Extension point for open call hierarchy view
Adding a new extension point that makes possible to extend content from
the Open Call Hierarchy View by adding a new node at the top of the
tree.

Change-Id: I9ac79896a4e8fffc9ed51cdb1be3c70f30d117c4
Signed-off-by: Lidia Popescu <lidia.popescu@windriver.com>
2018-09-08 03:03:00 -04:00
Nathan Ridge
3679b7cd90 Give lsp4e-cpp access to some CDT internals
This avoids either littering lsp4e-cpp code with "restriction"
warnings, or suppressing them (which can hide useful warnings).

It seems pointless to expose the relevant internals as public APIs
since lsp4e-cpp is conceptually an internal consumer.

Change-Id: I9d8c70570682fa86b2369445a812af14de4930e6
2018-09-02 01:23:17 -04:00
Jonah Graham
19cbbb52d1 Bug 537176: add "update references" checkbox to resource rename
Add a wizard page for the rename of CNature resource files.

The "discouragedReference" is downgraded to "warning" because of the use
of some LTK internal classes. As a reference, most CDT plug-ins this
setting is ignore or warning. See Bug 538133 for changing LTK to make
it easier to do this.

Change-Id: I7b63b3fc97bddf364805c0b92c22ecaafbfbb6d1
Also-by: Baha El Kassaby <baha.elkassaby@gmail.com>
Signed-off-by: Baha El Kassaby <baha.elkassaby@gmail.com>
2018-08-21 13:53:52 -05:00
Manish Khurana
1983d41afb Bug 535428. Add indentation and bracket completion support in LSP4E-CPP
Change-Id: Ib9187a3ad28796305c47fe8e9543e1aed6a7bf58
Signed-off-by: Manish Khurana <mkmanishkhurana98@gmail.com>
2018-08-11 17:14:41 -04:00
Jonah Graham
ab02462cdc Bug 519391: Only redraw the changed lines
When a line is double-clicked, or the highlight error is otherwise
changed, the redrawing of the highlighting was done by redrawing
the entire build console document. This was slow on very large
documents. Instead only redraw the line losing the highlight (if
any) and the line gaining the highlight.

In addition, as we only change the foreground colour to highlight,
avoid redrawing the background.

Change-Id: I5e652449715a588cb8702e0100a472d1f566e2a8
2018-05-28 19:49:29 -04:00
Jonah Graham
d462ce74ff Bug 519391: avoid iterating and copying large lists
The BuildConsolePartitioner used to compute partitions from offsets
by iterating over the list of partitions. This strategy is fine
for small build outputs. But outputs in the 100,000+ line range
can have huge number of partitions. This commit updates the logic
to take advantage of the fact that the partitions are sorted
and contiguous to do binary searches to find the partition, and
uses a new method (computePartitioningAsList) to use a view onto
the original partitions list instead of significant copying.

Change-Id: I4395df36431a6ae45e6b77d6f76fd29532347ac5
2018-05-28 19:49:16 -04:00
Hansruedi Patzen
dd5c8726a7 Bug 527954: [C++14] Syntax error when parsing complex udl ""if
With this patch we allow any keyword to be used as a UDL operator, which
for example GCC compiles fine with. They are then no longer highlighted
as keywords but colored the same as normal text. This can be overridden
by coloring overloading operators differently.

Change-Id: If80faf0f3dc599ab4f12fe98977c556aaaefe6aa
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2018-05-24 18:52:08 -04:00
Nathan Ridge
3ad16b909c Bug 534189 - Do not wait for the editor's shared AST to generate parameter guesses
We want to hold the index read lock while generating the guesses, but we
don't need an AST; we already have the one built for content assist.

Change-Id: I5a60aaca24ce345f5ae387664e025e6fa39cd9d2
2018-05-10 22:44:54 -04:00
Torbjörn Svensson
864b305ff4 Bug 533379 - Only add space when appropriate
Only strings starting with "operator" should be subject to the space addition.

Change-Id: I690695e7c3385e0d4e64ddd4cbe470a20cf788d6
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
2018-04-16 10:36:56 -04:00
Nathan Ridge
91a142fcb7 Bug 319506 - Allow renaming class via constructor
Change-Id: I3c2f3e5337c7cdea4714732580806713aa28187b
Signed-off-by: Ian Leslie <ian.leslie@lesliesoftware.com>
2018-04-08 01:17:06 -04:00
Sebastian Focke
ebf123102f Bug 282494 - Incorrect colors in Show Macro expansion dialog in case of
dark color scheme

Setting the Macro expansion highlight to the "Find Scope" color. The
color can not occur by other means in the dialog and provides good
contrast to background and foreground colors.

Change-Id: If2182cff20f3612cff80c7fe2b250d039d45f172
Signed-off-by: Sebastian Focke<sfocke_eclipse@web.de>
2018-03-11 12:15:41 -04:00
cartu38 opendev
bcc81b20c1 Bug 531915: Abstract page is now able to deal with fragment icon(s)
Change-Id: I99bd52fcbc6e984e10914fc323f7af5768d7f7f2
Signed-off-by: cartu38 opendev <cartu38.opendev@gmail.com>
2018-03-02 12:01:16 +01:00
Nathan Ridge
28b36d1e3e Bug 531076 - NPE in CSearchQuery.createMatchesFromNames()
Change-Id: I6614b6557c1a9152e1d8b336d1fcfdf359201fb7
2018-02-20 01:08:11 -05:00
Karsten Thoms
dfb713b5c8 Bug 351718 - Avoid NPE when no default setting available
Change-Id: I2950bdcc30672fe3fa8e80b49f9bdeed17db5cdf
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
2018-02-16 12:14:56 +01:00
Doug Schaefer
ca09189575 Bug 531121 - Fix up/down buttons in toolchains preference
The content provider was overriding the change all the time.

Change-Id: I6d406dd6dc903cd890bfc7f7788d76e4388ff905
(cherry picked from commit d4b3472cc9)
2018-02-14 11:01:42 -05:00
Alexander Kurtakov
832f8d3d9d Add missing annotations.
Change-Id: I62df355cd6b85a9cbedd467def188eed2f4222e1
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-09 09:23:17 +02:00
Alexander Kurtakov
db1cd491d6 Remove useless imports.
Change-Id: Ie59d3942ea1df97440bd84e46a24753ed6ed429b
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 21:17:09 +02:00
Alexander Kurtakov
12681f7807 Remove unnecessary suppress warnings.
Change-Id: I1c3de215d9c4f488309f53eaa4a90a32210994be
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
2018-02-08 13:03:22 -05:00
Nathan Ridge
69c84d4f05 Bug 529958 - Semantic highlighting of variable passed by non-const reference in a dependent call
Change-Id: I421bf98cbeff052c39716f1381e9f8930626318b
2018-01-25 17:02:52 -05:00
Jeff Johnston
d822d7ce16 Bug 529799 - problem with entries tree in LanguageSettingsEntriesTab
- fix provided by Christian Walther
- fix createTreeForEntries() method to use addTreeListener() instead
  of addPaintListener() to handle resizing
- in TreeListener, define treeExpanded method which uses pack method
  for entries column

Change-Id: I28db2059d3e0561ce9e5e52f569409de9aff9a6d
2018-01-16 16:17:52 -05:00
Davin McCall
fc053e6124 Bugs 529299 and 491296. Fix indentation after 'noexcept'/'override'.
Change-Id: I3129e5f9fced4a27020f6ca27238bf5faf4df889
Signed-off-by: Davin McCall <davmac@davmac.org>
2018-01-03 15:39:11 -05:00
Hansruedi Patzen
3e66e22aed Bug 527844: ExpressionWriter does not write IASTLiteralExpression suffix
Change-Id: I4dbca527a16c698d7f1a16f2a6a0eca2e6cdc77a
Signed-off-by: Hansruedi Patzen <hansruedi.patzen@hsr.ch>
2017-12-21 12:52:04 -05:00
Nathan Ridge
86c3d8eeca Bug 525739 - Have Open Declaration find potentially-matching definitions for a declaration
The implementation strategy is as follows:

  - Implement an option to find potential matches during an AST
    definition search.

  - Store names that resolve to ProblemBindings in the index,
    as references for the candidate bindings, annotated as being
    potential matches.

  - Add an option to Index.findNames() to include potential matches.

  - Use the added options for the index and AST searches in
    OpenDeclarationsJob, prioritizing them accordingly (e.g. exact index
    matches take precedence over potential AST matches, but if there
    are no exact matches, potential matches from the AST and the index
    are combined).

Change-Id: I19f5c58820eb3ec79a31652d69fd5b86acaba115
2017-12-20 16:01:24 -05:00
Doug Schaefer
d6a1c13e5c Cleanup Core Build Preference pages.
Move Toolchains directly under C/C++ and rename to Core
Build Toolchains. Add a label describing what the toolchains
are for in hope of avoiding confusion with managed build.
Also move Qt into C/C++.

Change-Id: Ia1d76087c65b26562d1001243ea355c7ac32365e
2017-12-01 14:04:51 -05:00
Doug Schaefer
68b441c16d Bug 444054 - Make sure we build the right project
The call to CDTBuildAction's super updateSelection method
clears out some state. Make sure we call it even though we
want to always build CDT projects.

Change-Id: Ie5dc1f583bbcc04d85b7254a4b7c18ee50f02997
2017-11-27 11:02:07 -05:00
Doug Schaefer
93a5fcaa2a Bug 444054 - Always enable the build actions.
If you select a non-CDT project then select a CDT one, the
Build Project menu item wouldn't enable. If you select the
CDT project again, it does. Big question is why isn't it enabled
when selected.

This fix just enables it all the time. Much easier for users
to understand.

Change-Id: I674740f2c6998686cade1f910a269a4e9d935d39
2017-11-23 14:41:10 -05:00
Doug Schaefer
d9b8eb3fd0 Hook up the old Include Paths and Symbols page to Makefile projs.
Makefile projects depend on build output parsing to pick up
compiler options to use while indexing. Sometimes, that just
doesn't work. As a back up we've always allowed users to manually
add them to the project. Long ago when we had pure make projects
we had UI for this. This change hooks that old UI up. It was a
time before build configs so they get applied to them all but it
serves it's role as a backup when users run into problems.

Unmarked everything I use here from deprecated until we decide
how to replace these with Core build config aware settings.

Change-Id: I6fc4d48e5315df3c60c7591b026ae0a53a1f505e
2017-11-22 16:40:14 -05:00
Jonah Graham
c9c292982d Bug 519533: Fix scroll lock on build console
Change-Id: Ib7826de6ed26dbd05f2568d097deb52cf3dc4768
2017-11-14 19:04:40 -04:00
Nathan Ridge
301de3d40e Bug 522010 - Completion of non-type template parameter in ambiguous template argument
This works around the fact that the optimization introduced in bug 316704
inteferes with the mechanism for offering completions for both alternatives
in an ambiguous context.

Change-Id: Ibe14c1b4f2f9c9b3394d4635c87424a25fbd7a53
2017-11-13 13:22:26 -05:00
Doug Schaefer
b7b1d41f08 Fixes for scanner info for Makefile projects.
Using ESP-IDF (the ESP32 FreeRTOS SDK) on MSYS2 as a test bed.
Making sure the indexer picks up as much as it can. Removed -j
since that messes up build output parsing. Add UI so you can put
it back if you want.

Change-Id: I767c739dce1412c75fb56d0bb1efceb913883a5f
2017-11-10 14:49:16 -05:00
Christian Walther
bacbb7b3c7 Bug 378302 - Only bring build console to top on problem output.
When the "Bring console to top when building (if present)" was enabled
(which it is by default as of bug 447703), the console would come to the
top on every line of output, i.e. constantly during a busy build. That
made it impossible to reach other views in the same part, in particular
the Progress view in order to stop the build.

Instead, only bring the console to the top at the start of the build and
when output arrives that is associated with a problem marker (error,
warning, info).

Change-Id: Iabda4858b443c330e9209c27ea3635b0485c7d98
Signed-off-by: Christian Walther <walther@indel.ch>
2017-11-09 08:48:21 -05:00
Doug Schaefer
7a9163ba6c Bug 512550 - Hide C and C++ Project Wizards and fix canFinish().
Hides the C Project and C++ Project wizards in the wizard shortcuts
for the CPerspective. Also removes them from the shortcut list
in the project navigator. Adds the C/C++ wizard that was missing
from the project navigator.

Also makes sure we pass along the call to canFinish from the new
wizards to the old ones.

Change-Id: I0a5505542fcf9d0eb34fb5fef790fd1e777524b5
2017-11-08 16:18:18 -05:00
Doug Schaefer
b495a5faae Hook up the clang toolchain now split out from GCC.
Change-Id: I6edba9e689d903546be3a65060c4ac1b9871167f
2017-11-07 13:13:12 -05:00
Doug Schaefer
76e1842644 Implement ordering of toolchains.
Introduce toolchain types independent of providers.

Change-Id: I2cf3145920fcf4e7132468b6e653d7ea3e211127
2017-11-07 11:01:15 -05:00
Jeff Johnston
c96d126b86 Bug 513589 - Add support to build CDT projects in a Docker Container
- add IOptionalBuildObjectPropertiesContainer interface to use for
  objects that supply optional build properties
- add new IOptionalBuildProperties interface that defines
  optional build properties donated by external plug-ins
- add new
- change IConfiguration to an IOptionalBuildObjectPropertiesContainer
- change IManagedProject to be an
  IOptionalBuildObjectPropertiesContainer
- fix ProcessClosure to ensure that readers are not null before
  accessing them
- fix Container launch delegate to look at project optional
  build properties for active configuration to fetch connection
  and image info and use said info to find a matching
  launch or create a new one
- have Container launch delegate use the image name as part of
  the launch config name
- have Container launch short-cut also use the project's
  optional build properties for the active config to get
  connection and image information before any defaulting
- change AutotoolsNewMarkerGenerator to store the command
  launcher as an ICommandLauncher
- add new CommandLauncherFactory extension to cdt.core that
  allows plug-ins to specify a CommandLauncherFactory that
  will return an ICommandLauncher based on the project
- add macros for new extension to CCorePlugin
- add new CommandLauncherManager class that loads
  CommandLauncherFactory extensions and is used to give
  an ICommandLauncher wrapper that will go through the list
  of CommandLauncherFactory extensions until one returns
  non-null ICommandLauncher
- add code to RemoteCommandLauncher so it will use the
  CommandLauncherManager to get the local launcher
- also change RemoteCommandLauncher to check at execution
  time whether the command is local and in that case use
  the local command launcher
- add new ICommandLauncherFactory interface
- add new ContainerCommandLauncher to launch
- add new ContainerCommandLauncherFactory class for returning
  a ContainerCommandLauncher instance to launch commands
  in a Docker Container
- change MakeBuilder to use CommandLauncherManager to get
  its ICommandLauncher
- change CommandBuilder to use CommandLauncherManager too
- ditto for Builder and AbstractBuiltinSpecsDetector and
  ExternalToolInvoker
- change Configuration to load/store optional build properties
  as well as return the properties to get/set
- ditto for MultiConfiguration
- change ManagedProject to implement IOptionalBuildOptionProperties
  interface
- ditto for ProjectType
- create new OptionalBuildProperties class to store optional
  build properties for a configuration
- bump cdt.docker.launcher to 1.1.0
- use CommandLauncherFactory extension to define
  ContainerCommandLauncherFactory
- add optional ContainerPropertyTab which allows the end-user to
  optionally choose to build a C/C++ project in a Container
  and specify the connection/image to use
- in LanguageSettingsSerializableSettings class, call the
  CommandLauncherManager getLanguageSettingEntries method
  to get the massaged language setting entries based on the
  current list
- in LanguageSettingsProviderSerializer, try and get the
  pooled entries using the cfg description so that it will
  have the project and can use the CommandLauncherManager
  to get entries from image
- in ContainerCommandLauncherFactory move cached headers under
  a HEADERS directory in the plug-in area
  - create a sub-directory for the connection and a sub-directory
    for the image based on cleansed names
  - store the real names of the connection and image to use
    later in the DockerHeaderPreferencePage
- modify LanguageSettingsEntriesTab to force the horizontal
  scroll bar to appear (this is a bug in SWT SashForm support
  and the fix here isn't quite correct, but is better)
- add new DockerHeaderPreferencePage that allows user to
  remove cached headers from images
- change C/C++ Docker preferences to be titled: Docker Container
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
  to use the CommandLauncherManager so entries will be transformed
  to use cached headers
- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
  and selected volumes
- add properties to ContainerCommandLauncher to represent
  volumes and selected volumes for a configuration
- add ContainerDataVolumeDialog for specifying a volume
  mount by the end-user
- add a null detector for cfgDescription in
  LanguageSettingsSerializableProvider
- fix AutotoolsNewMakeGenerator.getWinOSType to not specify "." for
  working dir
- fix GCCBuiltinSpecsDetectorCygwin to not map paths to Cygwin if
  the current configuration is enabled for container build
- add logic to ContainerCommandLauncher to look for Windows
  file formats and change them to unix format and map
  any "." working dir to be /tmp
- fix ContainerLauncherConfigurationDelegate similarly
- fix AbstractBuiltinSpecsDetector to pass in the current
  configuration description when getting the CommandLauncher
  since the current configuration may not be the active
  configuration
- change ContainerPropertyTab to add Elf and GNU Elf binary parsers
  when build in Container is chosen so that output executables
  are treated as Binaries by the CDT project
- add documentationl for the ContainerPropertyTab in Build Settings and
  the Data Volume dialog pop-up it brings up
- change CommandBuilder to accept a project as an argument
  to its constructor and to pass this as an argument to
  the CommandLauncherManager
- have StepBuilder pass project when creating a CommandBuilder

Change-Id: Ia78488b93056e6ec7ca83a6c87b3a9d2b9424943
2017-10-22 05:38:51 -04:00
Nathan Ridge
1054a38b44 Improve tracking of lookup points
ASTCache now sets the AST as the initial lookup point when invoking
an ASTRunnable.

In addition, OpenDeclarationsJob sets the selected node as a more precise
lookup point.

Change-Id: I9b32fccd80bc1b13e6da49a80a896b595784b868
2017-10-16 13:11:26 -04:00
Nathan Ridge
33d33a8cd6 Bug 525350 - Ensure a lookup point is always set during indexing, code analysis, and code completion
Also push a more accurate lookup point in a few places.

Change-Id: I635569178d8d9afd23f7782aeebdaed714f1a10d
2017-10-03 22:23:09 -04:00
Nathan Ridge
e1b68206ae Bug 524258 - NPE in QuickAssistProcessor.runOnAST()
Change-Id: I65653080a5a8f20567809d0d43126aff5a974a46
2017-10-02 21:26:28 -04:00
Nathan Ridge
20a88df65c Bug 399147 - Make 'Find References' find using-declarations
This is a revised approach for fixing this bug by giving using-
declarations implicit names for each delegate binding.

Change-Id: Ib9695c30258b8cb322ae1548ab022e357318135c
2017-10-02 02:44:02 -04:00
Doug Schaefer
5228d19300 UI for adding toolchains for Core Build. New Generic Target Wizard.
Provide a way to add new toolchains. Also start of UI to allow for
reordering them to help with toolchain selection for targets.

New Generic Target Wizard for the new wizard2 extension point for the
Launch Bar Target UI.

Change-Id: I60635ab27dad5b69df72c339337473183dcf711a
2017-09-28 13:42:58 -04:00
Nathan Ridge
64709c980d Bug 513105 - Store the current lookup point in a thread-local static stack rather than passing it around everywhere
Change-Id: I3da7326d1ce6bede8d4787d98f38fb2064288338
2017-09-25 12:51:22 -04:00