Skip to content

Conversation

@matter123
Copy link
Collaborator

This adds namespace aliases and moves the namespace name into the namespace head pattern.

Namespace Alias:

this tags namespace name = qualified-namespace ; as meta.declaration.namespace.alias with appropriate scopes for each component.

Namespace blockFinderFor changes:

with namespace aliases, the only meaning on namespace now is the start of a namespace block. This means that the start pattern of the namespace blockfinder for can be simplified to just a bound /namespace/. The tagging of namespaces was moved into the head includes.

@alekseyt this should allow you to target scoped in namespace scoped::namespace {} with meta.head.namespace.cpp entity.name.type.namespace.scope-resolution.cpp

@alekseyt
Copy link

Thank you. Can confirm C++17 nested namespaces can now be colored uniformly using meta.head.namespace.cpp to override color of scope-resolution in the beginning (head) of namespace, namespace aliases are highlighted too.

@jeff-hykin
Copy link
Owner

Well I was just going to add support for localized scope resolution names. I did that, but then the tests were broken for function calls, and then for function definitions. So I updated function calls and definitions (got rid of the legacy versions), then there was a minor problem with templated functions so I tweaked the template_call pattern.

A lot of tag names changed, and in general a lot of core patterns changed so this commit definitely could use your review. Sorry that it's one giant commit.

The change could still use cleaning up, I think there are still some legacy function patterns hanging around.

@jeff-hykin
Copy link
Owner

One known regression is the type-casting operators are now marked as templated function calls.

Copy link
Collaborator Author

@matter123 matter123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks Good! Just some naming and styling nitpicks.

@matter123
Copy link
Collaborator Author

One known regression is the type-casting operators are now marked as templated function calls.

I cant repo
Screenshot from 2019-05-21 20-19-51

@jeff-hykin
Copy link
Owner

Oh I guess one of the last changes I made fixed the type casting ¯_(ツ)_/¯

@jeff-hykin jeff-hykin merged commit 80b2122 into master May 22, 2019
@matter123 matter123 deleted the Fix/#183 branch May 26, 2019 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants