diff --git a/Gemfile b/Gemfile index 4e13aa22..5cd36e04 100644 --- a/Gemfile +++ b/Gemfile @@ -3,4 +3,4 @@ gem 'bundler' gem 'deep_clone' gem 'walk_up', ">=1.0.1" -gem 'ruby_grammar_builder', '1.1.8' +gem 'ruby_grammar_builder', '1.1.10' diff --git a/Gemfile.lock b/Gemfile.lock index 859b9ff5..2a46462c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,7 +2,7 @@ GEM remote: http://rubygems.org/ specs: deep_clone (0.0.1) - ruby_grammar_builder (1.1.8) + ruby_grammar_builder (1.1.10) deep_clone (~> 0.0.1, >= 0.0.1) walk_up (1.0.1) @@ -12,7 +12,7 @@ PLATFORMS DEPENDENCIES bundler deep_clone - ruby_grammar_builder (= 1.1.8) + ruby_grammar_builder (= 1.1.10) walk_up (>= 1.0.1) BUNDLED WITH diff --git a/LICENSE b/LICENSE index c74c8945..94a9ed02 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,674 @@ -MIT License - -Copyright (c) 2019 Jeff Hykin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md index 1c48d745..4da4c2a1 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,6 @@

Screen Shot 2022-02-11 at 12 01 19 PM

-

- - - - - - -

# Sponsors @@ -49,13 +41,17 @@ NOTE: The default VS Code theme does not color much. Switch to the Dark+ theme ( - [Syntax Highlight Theme](https://marketplace.visualstudio.com/items?itemName=peaceshi.syntax-highlight) - [Default Theme Enhanced](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-themes) -## How do I use it? +## How do I use the extension? Just install the VS Code extension and the changes will automatically be applied to all relevant files.
Link: https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax # Comparison (Material Theme) compare +## How do I use the grammar? (as an upstream for my non-vs code editor) + +1. Watch the the "Major Changes" thread [here](https://github.com/jeff-hykin/better-cpp-syntax/issues/64) to know when I change licenses, the codebase structure, or just major highlighting changes. +2. I support non-VS Code usecases. E.g. yes, you are welcome to open issues [like this one](https://github.com/jeff-hykin/better-cpp-syntax/issues/653) that don't affect VS Code. ## What is different from atom/language-c? It fixes: diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index ebe55f91..ef27727b 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"#operator_overload"},{"include":"#using_namespace"},{"include":"source.cpp#type_alias"},{"include":"source.cpp#using_name"},{"include":"source.cpp#namespace_alias"},{"include":"#namespace_block"},{"include":"#extern_block"},{"include":"#typedef_class"},{"include":"#typedef_struct"},{"include":"#typedef_union"},{"include":"source.cpp#misc_keywords"},{"include":"source.cpp#standard_declares"},{"include":"#class_block"},{"include":"#struct_block"},{"include":"#union_block"},{"include":"#enum_block"},{"include":"source.cpp#template_isolated_definition"},{"include":"#template_definition"},{"include":"source.cpp#template_explicit_instantiation"},{"include":"source.cpp#access_control_keywords"},{"include":"#block"},{"include":"#static_assert"},{"include":"#assembly"},{"include":"#function_pointer"},{"include":"#evaluation_context"}],"repository":{"alignas_attribute":{"begin":"alignas\\(","end":"\\)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\())","end":"(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\())","end":"(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()","end":"\\)|(?=(?|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.property.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}}},{"match":"(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.other.object.access.cpp"},"7":{"name":"punctuation.separator.dot-access.cpp"},"8":{"name":"punctuation.separator.pointer-access.cpp"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","name":"keyword.operator.assignment.compound.bitwise.cpp"},{"match":"<<|>>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"include":"source.cpp#assignment_operator"},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)([A-Z][A-Z_0-9]*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.cpp"},"2":{"patterns":[{"include":"source.cpp#inline_comment"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"match":"(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","captures":{"1":{"patterns":[{"include":"source.cpp#inline_comment"}]},"2":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"3":{"name":"comment.block.cpp"},"4":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"5":{"name":"variable.language.this.cpp"},"6":{"name":"variable.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=)))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\[)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"3":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"4":{"name":"comment.block.cpp"},"5":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"6":{"patterns":[{"include":"source.cpp#inline_comment"}]},"7":{"name":"comment.block.cpp punctuation.definition.comment.begin.cpp"},"8":{"name":"comment.block.cpp"},"9":{"name":"comment.block.cpp punctuation.definition.comment.end.cpp"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.class.cpp" @@ -650,7 +665,7 @@ "11": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -1416,41 +1659,25 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "14": { "name": "storage.type.modifier.calling-convention.cpp" }, - "15": { + "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { + "13": { "name": "comment.block.cpp" }, - "18": { + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { + "15": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } }, @@ -1474,7 +1701,7 @@ "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" @@ -1518,7 +1745,7 @@ }, "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { @@ -1528,7 +1755,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -1656,48 +1883,32 @@ ] }, "constructor_root": { - "begin": "\\s*+((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, "1": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { + "4": { "name": "comment.block.cpp" }, - "9": { + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { + "6": { "patterns": [ { "match": "::", @@ -1708,20 +1919,20 @@ "name": "entity.name.scope-resolution.constructor.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, - "11": { + "7": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, - "12": { + "8": { }, - "13": { + "9": { "patterns": [ { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)", @@ -1737,54 +1948,54 @@ } ] }, - "14": { + "10": { }, - "15": { + "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { + "13": { "name": "comment.block.cpp" }, - "18": { + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { + "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "21": { + "17": { "name": "comment.block.cpp" }, - "22": { + "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "23": { + "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "24": { + "20": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "25": { + "21": { "name": "comment.block.cpp" }, - "26": { + "22": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, @@ -1808,7 +2019,7 @@ "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" @@ -1852,7 +2063,7 @@ }, "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { @@ -1862,7 +2073,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -1990,7 +2201,7 @@ ] }, "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)", "end": "\\}", "beginCaptures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -2200,14 +2400,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -2258,6 +2458,29 @@ }, "name": "meta.initialization.cpp", "patterns": [ + { + "begin": "(\\.)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)", + "end": "(?:(,)|(?=\\}))", + "beginCaptures": { + "1": { + "name": "punctuation.accessor.initializer.cpp variable.parameter.initializer.cpp" + }, + "2": { + "name": "variable.parameter.initializer.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.separator.delimiter.comma.cpp" + } + }, + "name": "meta.initialization.parameter.cpp", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, { "include": "#evaluation_context" }, @@ -2267,7 +2490,7 @@ ] }, "d9bc4796b0b_module_import": { - "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", + "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((import))(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)", "captures": { "1": { "patterns": [ @@ -2449,310 +2672,53 @@ }, "name": "meta.preprocessor.import.cpp" }, - "d9bc4796b0b_preprocessor_number_literal": { - "match": "(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -2844,64 +2810,48 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "7": { - "name": "comment.block.cpp" - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "9": { "name": "storage.type.modifier.calling-convention.cpp" }, - "10": { + "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { + "8": { "name": "comment.block.cpp" }, - "13": { + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "14": { + "10": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, - "15": { + "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { + "13": { "name": "comment.block.cpp" }, - "18": { + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { + "15": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } }, @@ -2925,7 +2875,7 @@ "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" @@ -3014,7 +2964,7 @@ ] }, "destructor_root": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -3066,14 +3016,14 @@ "name": "entity.name.scope-resolution.destructor.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "11": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3166,7 +3116,7 @@ "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" @@ -3255,7 +3205,7 @@ ] }, "diagnostic": { - "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", + "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?", "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.enum.cpp" @@ -3424,7 +3374,7 @@ "8": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3437,7 +3387,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3532,7 +3482,7 @@ ] }, "enum_declare": { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.extern.cpp" @@ -3996,6 +3955,9 @@ { "include": "#ever_present_context" }, + { + "include": "#simple_array_assignment" + }, { "include": "#using_namespace" }, @@ -4050,6 +4012,15 @@ { "include": "#function_pointer" }, + { + "include": "#over_qualified_types" + }, + { + "include": "#normal_variable_assignment" + }, + { + "include": "#normal_variable_declaration" + }, { "include": "#switch_statement" }, @@ -4065,83 +4036,163 @@ ] }, "function_call": { - "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.function.call.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "10": { - "name": "meta.template.call.cpp", + "patterns": [ + { + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)([A-Z][A-Z_0-9]*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.function.call.upper-case.cpp entity.name.function.call.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "11": { + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "15": { + "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp" + } + }, "patterns": [ { - "include": "#template_call_range" + "include": "#evaluation_context" } ] }, - "11": { - }, - "12": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "13": { - "name": "comment.block.cpp" - }, - "14": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "15": { - "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" - } - }, - "patterns": [ { - "include": "#evaluation_context" + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.function.call.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "11": { + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "15": { + "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] } ] }, "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -4179,7 +4230,7 @@ "7": { "patterns": [ { - "match": "((?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4331,14 +4365,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "24": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4369,7 +4403,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ @@ -4445,76 +4479,60 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "44": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "45": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "46": { - "name": "comment.block.cpp" - }, - "47": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "48": { "name": "storage.type.modifier.calling-convention.cpp" }, - "49": { + "45": { "patterns": [ { "include": "#inline_comment" } ] }, - "50": { + "46": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "51": { + "47": { "name": "comment.block.cpp" }, - "52": { + "48": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "53": { + "49": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, - "54": { + "50": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, - "55": { + "51": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, - "56": { + "52": { }, - "57": { + "53": { "name": "entity.name.function.definition.cpp" }, - "58": { + "54": { "patterns": [ { "include": "#inline_comment" } ] }, - "59": { + "55": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "60": { + "56": { "name": "comment.block.cpp" }, - "61": { + "57": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, @@ -4567,7 +4585,7 @@ ] }, { - "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "punctuation.definition.function.return-type.cpp" @@ -4589,14 +4607,14 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "6": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4696,14 +4697,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "17": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4781,18 +4782,18 @@ ] }, "function_pointer": { - "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4892,14 +4876,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4930,7 +4914,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ @@ -5053,31 +5037,66 @@ }, "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "patterns": [ - { - "include": "#function_parameter_context" - } - ] - }, - "function_pointer_parameter": { - "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", + }, + "6": { "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified-type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -5173,14 +5175,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -5211,7 +5213,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ @@ -5334,6 +5336,41 @@ }, "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "storage.modifier.specifier.functional.post-parameters.$10.cpp" + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, "patterns": [ @@ -5343,7 +5380,7 @@ ] }, "functional_specifiers_pre_parameters": { - "match": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", + "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((#)(?:\\s+)?((?:include|include_next))\\b)(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))", "captures": { "1": { "patterns": [ @@ -5669,7 +5712,7 @@ "name": "punctuation.separator.delimiter.comma.inheritance.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:protected|private|public)|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -5805,14 +5831,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "8": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -5850,7 +5876,7 @@ ] }, "inline_builtin_storage_type": { - "match": "(?:\\s)*+(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];]))", + "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))", "end": "(?<=[;}])", "beginCaptures": { "1": { @@ -5959,7 +5985,7 @@ "include": "#the_this_keyword" }, { - "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", + "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", "captures": { "1": { "name": "variable.parameter.capture.cpp" @@ -6039,7 +6065,7 @@ ] }, { - "match": "(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", "captures": { "1": { "patterns": [ @@ -6272,18 +6298,30 @@ "name": "variable.language.this.cpp" }, "4": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$4.cpp" }, "5": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$5.cpp" }, "6": { - "name": "punctuation.separator.pointer-access.cpp" + "name": "variable.camel-case.cpp variable.other.object.access.$6.cpp" }, "7": { + "name": "variable.upper-case.cpp variable.other.object.access.$7.cpp" + }, + "8": { + "name": "variable.other.unknown.$8.cpp" + }, + "9": { + "name": "punctuation.separator.dot-access.cpp" + }, + "10": { + "name": "punctuation.separator.pointer-access.cpp" + }, + "11": { "patterns": [ { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6305,18 +6343,30 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.property.cpp" + "name": "variable.lower-case.cpp variable.other.object.property.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.property.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.property.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.property.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } }, { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6338,12 +6388,24 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$6.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$7.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.access.$8.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.access.$9.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } @@ -6356,13 +6418,13 @@ } ] }, - "8": { + "12": { "name": "variable.other.property.cpp" } } }, "memory_operators": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))", "captures": { "1": { "patterns": [ @@ -6407,7 +6469,7 @@ } }, "method_access": { - "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", + "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", "end": "\\)", "beginCaptures": { "1": { @@ -6430,18 +6492,30 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$6.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$7.cpp" }, "8": { - "name": "punctuation.separator.pointer-access.cpp" + "name": "variable.camel-case.cpp variable.other.object.access.$8.cpp" }, "9": { + "name": "variable.upper-case.cpp variable.other.object.access.$9.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { + "name": "punctuation.separator.pointer-access.cpp" + }, + "13": { "patterns": [ { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6463,18 +6537,30 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.property.cpp" + "name": "variable.lower-case.cpp variable.other.object.property.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.property.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.property.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.property.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } }, { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6496,12 +6582,24 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$6.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$7.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.access.$8.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.access.$9.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } @@ -6514,10 +6612,10 @@ } ] }, - "10": { + "14": { "name": "entity.name.function.member.cpp" }, - "11": { + "15": { "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } }, @@ -6533,7 +6631,7 @@ ] }, "misc_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=)))", + "end": "(?=;)", + "beginCaptures": { + "1": { "patterns": [ { - "begin": "(?=.)", - "end": "$", - "beginCaptures": { - }, - "endCaptures": { - }, - "patterns": [ - { - "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.operator-overload.cpp" }, - "1": { - "name": "meta.qualified_type.cpp", + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "meta.assignment.cpp" + }, + "6": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "12": { + "name": "comment.block.cpp" + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "14": { + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -7149,7 +7015,7 @@ } ] }, - "2": { + "15": { "patterns": [ { "include": "#attributes_context" @@ -7159,39 +7025,39 @@ } ] }, - "3": { + "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { + "18": { "name": "comment.block.cpp" }, - "6": { + "19": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { + "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { + "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { + "22": { "name": "comment.block.cpp" }, - "10": { + "23": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { + "24": { "patterns": [ { "match": "::", @@ -7202,45 +7068,45 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, - "12": { + "25": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, - "13": { + "26": { }, - "14": { + "27": { "patterns": [ { "include": "#inline_comment" } ] }, - "15": { + "28": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "16": { + "29": { "name": "comment.block.cpp" }, - "17": { + "30": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "18": { + "31": { }, - "19": { + "32": { "patterns": [ { "match": "\\*", "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ @@ -7267,186 +7133,295 @@ } ] }, - "20": { + "33": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { + "34": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { + "35": { "name": "comment.block.cpp" }, - "23": { + "36": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "24": { + "37": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { + "38": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "26": { + "39": { "name": "comment.block.cpp" }, - "27": { + "40": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "28": { + "41": { "patterns": [ { "include": "#inline_comment" } ] }, - "29": { + "42": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "30": { + "43": { "name": "comment.block.cpp" }, - "31": { + "44": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "32": { + "45": { + "name": "variable.lower-case.cpp variable.other.assignment.cpp" + }, + "46": { + "name": "variable.snake-case.cpp variable.other.assignment.cpp" + }, + "47": { + "name": "variable.camel-case.cpp variable.other.assignment.cpp" + }, + "48": { + "name": "variable.upper-case.cpp variable.other.assignment.cpp" + }, + "49": { + "name": "variable.other.unknown.$49.cpp" + }, + "50": { "patterns": [ { "include": "#inline_comment" } ] }, - "33": { + "51": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "34": { + "52": { "name": "comment.block.cpp" }, - "35": { + "53": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "36": { - "name": "storage.type.modifier.calling-convention.cpp" + "54": { + "name": "keyword.operator.assignment.compound.cpp" }, - "37": { + "55": { + "name": "keyword.operator.assignment.compound.bitwise.cpp" + }, + "56": { + "name": "keyword.operator.assignment.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.assignment.cpp", + "patterns": [ + { + "include": "#normal_variable_assignment" + }, + { + "include": "#variable_assignment" + }, + { + "include": "$self" + } + ] + }, + "normal_variable_declaration": { + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.operator-overload.cpp" }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp" - } - }, - "name": "meta.body.function.definition.special.operator-overload.cpp", + "1": { "patterns": [ { - "include": "#function_body_context" + "include": "#inline_comment" } ] }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.operator-overload.cpp", + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "meta.qualified-type.cpp", "patterns": [ { - "include": "$self" - } - ] - } - ] - }, - "operators": { - "patterns": [ - { - "begin": "((?>=|\\|=", - "name": "keyword.operator.assignment.compound.bitwise.cpp" + "32": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - { - "match": "<<|>>", - "name": "keyword.operator.bitwise.shift.cpp" + "33": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "!=|<=|>=|==|<|>", - "name": "keyword.operator.comparison.cpp" + "34": { + "name": "comment.block.cpp" }, - { - "match": "&&|!|\\|\\|", - "name": "keyword.operator.logical.cpp" + "35": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - { - "match": "&|\\||\\^|~", - "name": "keyword.operator.bitwise.cpp" + "36": { + "name": "storage.type.modifier.calling-convention.cpp" }, - { - "include": "#assignment_operator" + "37": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - { - "match": "%|\\*|\\/|-|\\+", - "name": "keyword.operator.arithmetic.cpp" + "38": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#ternary_operator" - } - ] - }, - "over_qualified_types": { - "patterns": [ - { - "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp" + } + }, + "name": "meta.body.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "include": "#function_body_context" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "operators": { + "patterns": [ + { + "begin": "((?>)", + "name": "keyword.operator.bitwise.shift.cpp" + }, + { + "match": "(?:!=|<=|>=|==|<|>)", + "name": "keyword.operator.comparison.cpp" + }, + { + "match": "(?:&&|!|\\|\\|)", + "name": "keyword.operator.logical.cpp" + }, + { + "match": "(?:&|\\||\\^|~)", + "name": "keyword.operator.bitwise.cpp" + }, + { + "match": "(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))", + "captures": { + "1": { + "name": "keyword.operator.assignment.compound.cpp" + }, + "2": { + "name": "keyword.operator.assignment.compound.bitwise.cpp" + }, + "3": { + "name": "keyword.operator.assignment.cpp" } } }, { - "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", - "captures": { - "0": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", + "5": { "patterns": [ { - "include": "#template_call_context" + "include": "#inline_comment" } ] }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" + "6": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "7": { + "name": "comment.block.cpp" + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - ] + } }, + { + "include": "#evaluation_context" + }, + { + "include": "#ever_present_context" + } + ] + }, + "parameter_struct": { + "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "2": { + "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] - } - } - }, - "scope_resolution_function_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { + }, + "13": { "patterns": [ { - "include": "#scope_resolution_function_call_inner_generated" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + "14": { + "name": "variable.other.object.declare.cpp" }, - "2": { + "15": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] - } - } - }, - "scope_resolution_function_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { + }, + "16": { "patterns": [ { - "include": "#scope_resolution_function_call_inner_generated" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { + "17": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.call.cpp" - }, - "6": { - "name": "meta.template.call.cpp", + "18": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - } - } - }, - "scope_resolution_function_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { + "19": { "patterns": [ { - "include": "#scope_resolution_function_definition_inner_generated" + "include": "#inline_comment" } ] }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - }, - "2": { + "20": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] } } }, - "scope_resolution_function_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "parameter_union": { + "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { - "include": "#scope_resolution_function_definition_operator_overload_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - }, - "2": { - "patterns": [ + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_definition_operator_overload_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, { - "include": "#scope_resolution_function_definition_operator_overload_inner_generated" + "match": "\\&", + "name": "storage.modifier.reference.cpp" } ] }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - }, - "3": { + "8": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" - }, - "6": { - "name": "meta.template.call.cpp", + "9": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - } - } - }, - "scope_resolution_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { - "include": "#scope_resolution_inner_generated" + "include": "#inline_comment" } ] }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "3": { + "11": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.cpp" - }, - "6": { - "name": "meta.template.call.cpp", + "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - } - } - }, - "scope_resolution_namespace_alias": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { + "13": { "patterns": [ { - "include": "#scope_resolution_namespace_alias_inner_generated" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + "14": { + "name": "variable.other.object.declare.cpp" }, - "2": { + "15": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] - } - } - }, - "scope_resolution_namespace_alias_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { + }, + "16": { "patterns": [ { - "include": "#scope_resolution_namespace_alias_inner_generated" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - }, - "3": { + "17": { "patterns": [ { - "include": "#template_call_range" + "include": "#inline_comment" } ] }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.alias.cpp" - }, - "6": { - "name": "meta.template.call.cpp", + "18": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - } - } - }, - "scope_resolution_namespace_block": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { + "19": { "patterns": [ { - "include": "#scope_resolution_namespace_block_inner_generated" + "include": "#inline_comment" } ] }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - }, - "2": { + "20": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] } } }, - "scope_resolution_namespace_block_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_block_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + "parentheses": { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.bracket.round.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.bracket.round.cpp" + } + }, + "name": "meta.parens.cpp", + "patterns": [ + { + "include": "#range_for_inner" }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] + { + "include": "#over_qualified_types" }, - "4": { + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_using_inner_generated" - } - ] + }, + "endCaptures": { + }, + "name": "meta.preprocessor.pragma.cpp", + "patterns": [ + { + "include": "#comments" }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + { + "include": "#string_context" }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] + { + "match": "[a-zA-Z_$][\\w\\-$]*", + "name": "entity.other.attribute-name.pragma.preprocessor.cpp" + }, + { + "include": "#preprocessor_number_literal" + }, + { + "include": "#line_continuation_character" } - } + ] }, - "scope_resolution_namespace_using_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "pragma_mark": { + "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?pragma\\s+mark)\\s+(.*)", "captures": { "1": { + "name": "keyword.control.directive.pragma.pragma-mark.cpp" + }, + "2": { "patterns": [ { - "include": "#scope_resolution_namespace_using_inner_generated" + "include": "#inline_comment" } ] }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - }, "3": { "patterns": [ { - "include": "#template_call_range" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, "4": { + "name": "punctuation.definition.directive.cpp" }, "5": { - "name": "entity.name.scope-resolution.namespace.using.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" + "name": "entity.name.tag.pragma-mark.cpp" + } + }, + "name": "meta.preprocessor.pragma.cpp" + }, + "predefined_macros": { + "patterns": [ + { + "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b", + "captures": { + "1": { + "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp" } - ] + } }, - "7": { + { + "match": "\\b__([A-Z_]+)__\\b", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" + } + ] + }, + "preprocessor_conditional_context": { + "patterns": [ + { + "include": "#preprocessor_conditional_defined" }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "include": "#comments" }, - "9": { - "name": "comment.block.cpp" + { + "include": "#language_constants" }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + { + "include": "#string_context" }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + { + "include": "#preprocessor_number_literal" + }, + { + "include": "#operators" + }, + { + "include": "#predefined_macros" + }, + { + "include": "#macro_name" + }, + { + "include": "#line_continuation_character" } - } + ] }, - "scope_resolution_parameter": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_parameter_inner_generated" - } - ] - }, + "preprocessor_conditional_defined": { + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { + "preprocessor_conditional_parentheses": { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.bracket.round.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.bracket.round.cpp" + } + }, + "name": "meta.parens.preprocessor.conditional.cpp" + }, + "preprocessor_conditional_range": { + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:(?:ifndef|ifdef)|if))", + "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_template_call_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] + }, + "endCaptures": { + }, + "contentName": "meta.preprocessor.conditional", + "patterns": [ + { + "include": "#preprocessor_conditional_context" } - } + ] }, - "scope_resolution_template_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "preprocessor_conditional_standalone": { + "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { - "include": "#scope_resolution_template_definition_inner_generated" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] + "3": { + "name": "punctuation.definition.directive.cpp" } - } + }, + "name": "keyword.control.directive.$4.cpp" }, - "scope_resolution_template_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + "preprocessor_context": { + "patterns": [ + { + "include": "#pragma_mark" }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] + { + "include": "#pragma" }, - "4": { + { + "include": "#include" }, - "5": { - "name": "entity.name.scope-resolution.template.definition.cpp" + { + "include": "#line" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] + { + "include": "#diagnostic" }, - "7": { + { + "include": "#undef" }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "include": "#preprocessor_conditional_range" }, - "9": { - "name": "comment.block.cpp" + { + "include": "#macro" }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + { + "include": "#preprocessor_conditional_standalone" }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + { + "include": "#macro_argument" } - } - }, - "semicolon": { - "match": ";", - "name": "punctuation.terminator.statement.cpp" + ] }, - "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "preprocessor_number_literal": { + "match": "(?", + "begin": "(?=.)", + "end": "$", "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } }, "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } }, - "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "captures": { + "0": { "patterns": [ { "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", + "captures": { + "1": { + "name": "meta.type.cpp" }, - "7": { + "2": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#storage_specifiers" } ] }, - "8": { + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, "9": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "10": { + "name": "meta.qualified-type.cpp", "patterns": [ { - "include": "#inline_comment" + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\[)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", + "captures": { + "1": { + "name": "meta.type.cpp" + }, + "2": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.qualified-type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { - "include": "#string_context" + "include": "#scope_resolution_inner_generated" } ] }, - { - "include": "#evaluation_context" + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] } - ] + } }, - "std_space": { - "match": "(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))", + "scope_resolution_function_call": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { - "include": "#inline_comment" + "include": "#scope_resolution_function_call_inner_generated" } ] }, "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "2": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#template_call_range_helper" } ] } } }, - "storage_specifiers": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { - "include": "#inline_comment" + "include": "#scope_resolution_function_call_inner_generated" } ] }, "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#template_call_range_helper" } ] }, - "3": { - "name": "storage.modifier.specifier.$3.cpp" - } - } - }, - "storage_types": { - "patterns": [ - { - "include": "#storage_specifiers" + "4": { }, - { - "include": "#inline_builtin_storage_type" + "5": { + "name": "entity.name.scope-resolution.function.call.cpp" }, - { - "include": "#decltype" + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, - { - "include": "#typename" + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" } - ] + } }, - "string_context": { - "patterns": [ - { - "begin": "((?:u|u8|U|L)?)\"", - "end": "(\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cpp" - }, - "1": { - "name": "meta.encoding.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end.cpp" - }, - "2": { - "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp" - }, - "3": { - "name": "keyword.other.suffix.literal.user-defined.string.cpp" - } - }, - "name": "string.quoted.double.cpp", + "scope_resolution_function_definition": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { - "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", - "name": "constant.character.escape.cpp" - }, - { - "match": "\\\\['\"?\\\\abfnrtv]", - "name": "constant.character.escape.cpp" - }, - { - "match": "\\\\[0-7]{1,3}", - "name": "constant.character.escape.cpp" - }, - { - "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", - "captures": { - "1": { - "name": "constant.character.escape.cpp" - }, - "2": { - "name": "invalid.illegal.unknown-escape.cpp" - } - } - }, - { - "include": "#string_escapes_context_c" + "include": "#scope_resolution_function_definition_inner_generated" } ] }, - { - "begin": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ { - "include": "#line_continuation_character" + "include": "#scope_resolution_function_definition_inner_generated" } ] }, - { - "begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(", - "end": "\\)(?:(?:_r|re)|regex)\\\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cpp" - }, - "1": { - "name": "meta.encoding.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cpp" - } - }, - "name": "string.quoted.double.raw.regex.cpp", + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + }, + "3": { "patterns": [ { - "include": "source.regexp.python" + "include": "#template_call_range_helper" } ] }, - { - "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(", - "end": "\\)(?:glsl|GLSL)\\\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cpp" - }, - "1": { - "name": "meta.encoding.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cpp" - } - }, - "name": "meta.string.quoted.double.raw.glsl.cpp", + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.definition.cpp" + }, + "6": { + "name": "meta.template.call.cpp", "patterns": [ { - "include": "source.glsl" + "include": "#template_call_range_helper" } ] }, - { - "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(", - "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cpp" - }, - "1": { - "name": "meta.encoding.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cpp" - } - }, - "name": "meta.string.quoted.double.raw.sql.cpp", - "patterns": [ - { - "include": "source.sql" - } - ] + "7": { }, - { - "begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin" - }, - "1": { - "name": "meta.encoding" - }, - "3": { - "name": "invalid.illegal.delimiter-too-long" - } - }, - "end": "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", - "endCaptures": { - "1": { - "name": "punctuation.definition.string.end" - }, - "2": { - "name": "invalid.illegal.delimiter-too-long" - }, - "3": { - "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp" - }, - "4": { - "name": "keyword.other.suffix.literal.user-defined.string.cpp" - } - }, - "name": "string.quoted.double.raw" - } - ] - }, - "string_escapes_context_c": { - "patterns": [ - { - "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", - "name": "constant.character.escape" + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "\\\\.", - "name": "invalid.illegal.unknown-escape" + "9": { + "name": "comment.block.cpp" }, - { - "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type", - "name": "constant.other.placeholder" + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" } - ] + } }, - "struct_block": { - "begin": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { + "scope_resolution_function_definition_operator_overload": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { "0": { - "name": "meta.head.struct.cpp" + "patterns": [ + { + "include": "#scope_resolution_function_definition_operator_overload_inner_generated" + } + ] }, "1": { - "name": "storage.type.$1.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, "2": { "patterns": [ { - "include": "#inline_comment" + "include": "#template_call_range_helper" + } + ] + } + } + }, + "scope_resolution_function_definition_operator_overload_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + }, "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, "4": { - "name": "comment.block.cpp" }, "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" }, "6": { + "name": "meta.template.call.cpp", "patterns": [ { - "include": "#attributes_context" - }, - { - "include": "#number_literal" + "include": "#template_call_range_helper" } ] }, "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] }, "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" @@ -13275,868 +12999,573 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + } + } + }, + "scope_resolution_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { - "include": "#ever_present_context" - }, - { - "include": "#inheritance_context" - }, - { - "include": "#template_call_range" + "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.struct.cpp" - } - }, - "name": "meta.body.struct.cpp", - "patterns": [ - { - "include": "#function_pointer" - }, - { - "include": "#static_assert" - }, - { - "include": "#constructor_inline" - }, - { - "include": "#destructor_inline" - }, - { - "include": "$self" - } - ] + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.struct.cpp", + "2": { "patterns": [ { - "include": "$self" + "include": "#template_call_range_helper" } ] } - ] + } }, - "struct_declare": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { - "name": "storage.type.struct.declare.cpp" - }, - "2": { "patterns": [ { - "include": "#inline_comment" + "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + }, "3": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#template_call_range_helper" } ] }, "4": { - "name": "entity.name.type.struct.cpp" }, "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "name": "entity.name.scope-resolution.namespace.alias.cpp" }, "6": { + "name": "meta.template.call.cpp", "patterns": [ { - "include": "#inline_comment" + "include": "#template_call_range_helper" } ] }, "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + } + } + }, + "scope_resolution_namespace_block": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#scope_resolution_namespace_block_inner_generated" } ] }, - "8": { + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + }, + "2": { "patterns": [ { - "include": "#inline_comment" + "include": "#template_call_range_helper" } ] - }, - "9": { + } + } + }, + "scope_resolution_namespace_block_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#scope_resolution_namespace_block_inner_generated" } ] }, - "10": { + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + }, + "3": { "patterns": [ { - "include": "#inline_comment" + "include": "#template_call_range_helper" } ] }, - "11": { + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.block.cpp" + }, + "6": { + "name": "meta.template.call.cpp", "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#template_call_range_helper" } ] }, - "12": { - "name": "variable.other.object.declare.cpp" + "7": { }, - "13": { + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + } + } + }, + "scope_resolution_namespace_using": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { - "include": "#inline_comment" + "include": "#scope_resolution_namespace_using_inner_generated" } ] }, - "14": { + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + }, + "2": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } + "include": "#template_call_range_helper" } ] } } }, - "switch_conditional_parentheses": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { + "scope_resolution_namespace_using_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { "1": { "patterns": [ { - "include": "#inline_comment" + "include": "#scope_resolution_namespace_using_inner_generated" } ] }, "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, "3": { - "name": "comment.block.cpp" + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "5": { - "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" - } - }, - "name": "meta.conditional.switch.cpp", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "switch_statement": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.switch.cpp" + "name": "entity.name.scope-resolution.namespace.using.cpp" }, - "1": { + "6": { + "name": "meta.template.call.cpp", "patterns": [ { - "include": "#inline_comment" + "include": "#template_call_range_helper" } ] }, - "2": { + "7": { + }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { + "9": { "name": "comment.block.cpp" }, - "4": { + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { - "name": "keyword.control.switch.cpp" + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" } - }, - "endCaptures": { - }, - "name": "meta.block.switch.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" - } - }, - "name": "meta.head.switch.cpp", + } + }, + "scope_resolution_parameter": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { - "include": "#switch_conditional_parentheses" - }, - { - "include": "$self" + "include": "#scope_resolution_parameter_inner_generated" } ] }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.switch.cpp" - } - }, - "name": "meta.body.switch.cpp", - "patterns": [ - { - "include": "#default_statement" - }, - { - "include": "#case_statement" - }, - { - "include": "$self" - } - ] + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.switch.cpp", + "2": { "patterns": [ { - "include": "$self" + "include": "#template_call_range_helper" } ] } - ] + } }, - "template_argument_defaulted": { - "match": "(?<=<|,)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s)+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(\\=)", + "scope_resolution_parameter_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { - "name": "storage.type.template.argument.$1.cpp" + "patterns": [ + { + "include": "#scope_resolution_parameter_inner_generated" + } + ] }, "2": { - "name": "entity.name.type.template.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, "3": { - "name": "keyword.operator.assignment.cpp" - } - } - }, - "template_call_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#template_call_range" + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, - { - "include": "#storage_types" + "4": { }, - { - "include": "#language_constants" + "5": { + "name": "entity.name.scope-resolution.parameter.cpp" }, - { - "include": "#scope_resolution_template_call_inner_generated" + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, - { - "include": "#operators" + "7": { }, - { - "include": "#number_literal" + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#string_context" + "9": { + "name": "comment.block.cpp" }, - { - "include": "#comma_in_template_argument" + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - { - "include": "#qualified_type" + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" } - ] + } }, - "template_call_innards": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+", + "scope_resolution_template_call": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { - "include": "#template_call_range" + "include": "#scope_resolution_template_call_inner_generated" } ] }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "name": "meta.template.call.cpp" - }, - "template_call_range": { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - "template_definition": { - "begin": "(?", - "beginCaptures": { "1": { - "name": "storage.type.template.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, "2": { - "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - } - }, - "name": "meta.template.definition.cpp", - "patterns": [ - { - "begin": "(?<=\\w)(?:(?:\\s)+)?<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, "patterns": [ { - "include": "#template_call_context" + "include": "#template_call_range_helper" } ] - }, - { - "include": "#template_definition_context" } - ] + } }, - "template_definition_argument": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:(?:\\s)+)?(class|typename)(?:(?:\\s)+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", + "scope_resolution_template_call_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { - "include": "#inline_comment" + "include": "#scope_resolution_template_call_inner_generated" } ] }, "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, "3": { - "name": "storage.type.template.argument.$3.cpp" - }, - "4": { "patterns": [ { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "storage.type.template.argument.$0.cpp" + "include": "#template_call_range_helper" } ] }, + "4": { + }, "5": { - "name": "entity.name.type.template.cpp" + "name": "entity.name.scope-resolution.template.call.cpp" }, "6": { - "name": "storage.type.template.argument.$6.cpp" + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, "7": { - "name": "punctuation.vararg-ellipses.template.definition.cpp" }, "8": { - "name": "entity.name.type.template.cpp" + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "9": { - "name": "storage.type.template.cpp" + "name": "comment.block.cpp" }, "10": { - "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "11": { - "name": "storage.type.template.argument.$11.cpp" - }, - "12": { - "name": "entity.name.type.template.cpp" - }, - "13": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - }, - "14": { - "name": "storage.type.template.argument.$14.cpp" - }, - "15": { - "name": "entity.name.type.template.cpp" - }, - "16": { - "name": "keyword.operator.assignment.cpp" - }, - "17": { - "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" } } }, - "template_definition_context": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - }, - { - "include": "#template_definition_argument" - }, - { - "include": "#template_argument_defaulted" - }, - { - "include": "#template_call_innards" - }, - { - "include": "#evaluation_context" - } - ] - }, - "template_explicit_instantiation": { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + } + ] + }, "1": { - "name": "storage.modifier.specifier.extern.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, "2": { - "name": "storage.type.template.cpp" + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] } - }, - "name": "meta.template.explicit-instantiation.cpp" + } }, - "template_isolated_definition": { - "match": "(?)(?:(?:\\s)+)?$", + "scope_resolution_template_definition_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { - "name": "storage.type.template.cpp" + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + } + ] }, "2": { - "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, "3": { - "name": "meta.template.definition.cpp", "patterns": [ { - "include": "#template_definition_context" + "include": "#template_call_range_helper" } ] }, "4": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - } - } - }, - "ternary_operator": { - "begin": "\\?", - "end": ":", - "beginCaptures": { - "0": { - "name": "keyword.operator.ternary.cpp" - } - }, - "endCaptures": { - "0": { - "name": "keyword.operator.ternary.cpp" - } - }, - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#string_context" - }, - { - "include": "#number_literal" - }, - { - "include": "#method_access" - }, - { - "include": "#member_access" - }, - { - "include": "#predefined_macros" - }, - { - "include": "#operators" - }, - { - "include": "#memory_operators" - }, - { - "include": "#wordlike_operators" - }, - { - "include": "#type_casting_operators" - }, - { - "include": "#control_flow_keywords" - }, - { - "include": "#exception_keywords" - }, - { - "include": "#the_this_keyword" - }, - { - "include": "#language_constants" - }, - { - "include": "#builtin_storage_type_initilizer" - }, - { - "include": "#qualifiers_and_specifiers_post_parameters" - }, - { - "include": "#functional_specifiers_pre_parameters" - }, - { - "include": "#storage_types" }, - { - "include": "#lambdas" - }, - { - "include": "#attributes_context" + "5": { + "name": "entity.name.scope-resolution.template.definition.cpp" }, - { - "include": "#parentheses" + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] }, - { - "include": "#function_call" + "7": { }, - { - "include": "#scope_resolution_inner_generated" + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#square_brackets" + "9": { + "name": "comment.block.cpp" }, - { - "include": "#semicolon" + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - { - "include": "#comma" + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" } - ], - "applyEndPatternLast": 1 + } }, - "the_this_keyword": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", "captures": { "1": { + "name": "meta.qualified-type.cpp", "patterns": [ { - "include": "#inline_comment" + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(?=((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", + "captures": { + "1": { + "name": "meta.qualified-type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.struct.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.struct.cpp" + } + }, + "name": "meta.body.struct.cpp", + "patterns": [ + { + "include": "#function_pointer" + }, + { + "include": "#static_assert" + }, + { + "include": "#constructor_inline" + }, + { + "include": "#destructor_inline" + }, + { + "include": "#operator_overload" + }, + { + "include": "#normal_variable_declaration" + }, + { + "include": "#normal_variable_assignment" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "struct_declare": { + "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.switch.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "keyword.control.switch.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.block.switch.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" + } + }, + "name": "meta.head.switch.cpp", + "patterns": [ + { + "include": "#switch_conditional_parentheses" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.switch.cpp" + } + }, + "name": "meta.body.switch.cpp", + "patterns": [ + { + "include": "#default_statement" + }, + { + "include": "#case_statement" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.switch.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "template_argument_defaulted": { + "match": "(?<=<|,)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\s+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(\\=)", + "captures": { + "1": { + "name": "storage.type.template.argument.$1.cpp" + }, + "2": { + "name": "entity.name.type.template.cpp" + }, + "3": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + "template_call_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#template_call_range_helper" + }, + { + "include": "#storage_types" + }, + { + "include": "#language_constants" + }, + { + "include": "#scope_resolution_template_call_inner_generated" + }, + { + "include": "#operators" + }, + { + "include": "#number_literal" + }, + { + "include": "#string_context" + }, + { + "include": "#comma_in_template_argument" + }, + { + "include": "#qualified_type" + } + ] + }, + "template_call_innards": { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + }, + "name": "meta.template.call.cpp" + }, + "template_call_range": { + "begin": "<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + "template_call_range_helper": { + "patterns": [ + { + "match": "\\b((?", + "beginCaptures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + } + }, + "name": "meta.template.definition.cpp", + "patterns": [ + { + "begin": "(?<=\\w)(?:\\s+)?<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "include": "#template_definition_context" + } + ] + }, + "template_definition_argument": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\.\\.\\.)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:\\s+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "3": { + "name": "storage.type.template.argument.$3.cpp" + }, + "4": { + "patterns": [ + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "storage.type.template.argument.$0.cpp" + } + ] + }, + "5": { + "name": "entity.name.type.template.cpp" + }, + "6": { + "name": "storage.type.template.argument.$6.cpp" + }, + "7": { + "name": "punctuation.vararg-ellipses.template.definition.cpp" + }, + "8": { + "name": "entity.name.type.template.cpp" + }, + "9": { + "name": "storage.type.template.cpp" + }, + "10": { + "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + }, + "11": { + "name": "storage.type.template.argument.$11.cpp" + }, + "12": { + "name": "entity.name.type.template.cpp" + }, + "13": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + }, + "14": { + "name": "storage.type.template.argument.$14.cpp" + }, + "15": { + "name": "entity.name.type.template.cpp" + }, + "16": { + "name": "keyword.operator.assignment.cpp" + }, + "17": { + "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + } + } + }, + "template_definition_context": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + }, + { + "include": "#template_definition_argument" + }, + { + "include": "#template_argument_defaulted" + }, + { + "include": "#template_call_innards" + }, + { + "include": "#evaluation_context" + } + ] + }, + "template_explicit_instantiation": { + "match": "(?)(?:\\s+)?$", + "captures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + }, + "3": { + "name": "meta.template.definition.cpp", + "patterns": [ + { + "include": "#template_definition_context" + } + ] + }, + "4": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + } + } + }, + "ternary_operator": { + "begin": "\\?", + "end": ":", + "beginCaptures": { + "0": { + "name": "keyword.operator.ternary.cpp" + } + }, + "endCaptures": { + "0": { + "name": "keyword.operator.ternary.cpp" + } + }, + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#string_context" + }, + { + "include": "#number_literal" + }, + { + "include": "#method_access" + }, + { + "include": "#member_access" + }, + { + "include": "#predefined_macros" + }, + { + "include": "#operators" + }, + { + "include": "#memory_operators" + }, + { + "include": "#wordlike_operators" + }, + { + "include": "#type_casting_operators" + }, + { + "include": "#control_flow_keywords" + }, + { + "include": "#exception_keywords" + }, + { + "include": "#the_this_keyword" + }, + { + "include": "#language_constants" + }, + { + "include": "#constructor_bracket_call" + }, + { + "include": "#simple_constructor_call" + }, + { + "include": "#simple_array_assignment" + }, + { + "include": "#builtin_storage_type_initilizer" + }, + { + "include": "#qualifiers_and_specifiers_post_parameters" + }, + { + "include": "#functional_specifiers_pre_parameters" + }, + { + "include": "#storage_types" + }, + { + "include": "#lambdas" + }, + { + "include": "#attributes_context" + }, + { + "include": "#parentheses" + }, + { + "include": "#function_call" + }, + { + "include": "#scope_resolution_inner_generated" + }, + { + "include": "#square_brackets" + }, + { + "include": "#semicolon" + }, + { + "include": "#comma" + }, + { + "include": "#unknown_variable" + } + ], + "applyEndPatternLast": 1 + }, + "the_this_keyword": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.class.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.class.cpp" + } + }, + "name": "meta.body.class.cpp", + "patterns": [ + { + "include": "#function_pointer" + }, + { + "include": "#static_assert" + }, + { + "include": "#constructor_inline" + }, + { + "include": "#destructor_inline" + }, + { + "include": "#operator_overload" + }, + { + "include": "#normal_variable_declaration" + }, + { + "include": "#normal_variable_assignment" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.class.cpp", + "patterns": [ + { + "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()(\\*)(?:\\s+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified-type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", + "24": { "patterns": [ { - "include": "#template_call_context" + "include": "#inline_comment" } ] }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "9": { - "patterns": [ - { - "include": "#attributes_context" + "25": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#number_literal" - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] - }, - "14": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + "26": { + "name": "comment.block.cpp" }, - { - "match": "(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { - "name": "meta.head.class.cpp" + "name": "meta.head.struct.cpp" }, "1": { "name": "storage.type.$1.cpp" @@ -14606,7 +18079,7 @@ "11": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" + }, + "endCaptures": { + }, + "patterns": [ + { + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "1": { + "name": "storage.type.$1.cpp" }, - "7": { + "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { + "4": { "name": "comment.block.cpp" }, - "10": { + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { + "6": { "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.struct.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.union.cpp" + } + }, + "name": "meta.head.union.cpp", "patterns": [ { - "include": "#inline_comment" + "include": "#ever_present_context" + }, + { + "include": "#inheritance_context" + }, + { + "include": "#template_call_range_helper" } ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.union.cpp" + } + }, + "name": "meta.body.union.cpp", "patterns": [ { - "include": "#attributes_context" + "include": "#function_pointer" + }, + { + "include": "#static_assert" + }, + { + "include": "#constructor_inline" }, { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ + "include": "#destructor_inline" + }, { - "include": "#inline_comment" + "include": "#operator_overload" + }, + { + "include": "#normal_variable_declaration" + }, + { + "include": "#normal_variable_assignment" + }, + { + "include": "$self" } ] }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.union.cpp", "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "storage.modifier.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - ] + } + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "6": { + "name": "meta.qualified-type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "(?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.struct.cpp" - } - }, - "name": "meta.body.struct.cpp", - "patterns": [ - { - "include": "#function_pointer" + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#static_assert" + "2": { + "name": "comment.block.cpp" }, - { - "include": "#constructor_inline" + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "12": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" + }, "1": { - "name": "keyword.other.typedef.cpp" - } - }, - "endCaptures": { - }, - "patterns": [ - { - "begin": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" }, - "6": { - "patterns": [ - { - "include": "#attributes_context" + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.union.cpp" + } + }, + "name": "meta.body.union.cpp", + "patterns": [ + { + "include": "#function_pointer" }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + { + "include": "#static_assert" }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "include": "#constructor_inline" }, - "18": { - "name": "comment.block.cpp" + { + "include": "#destructor_inline" }, - "19": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + { + "include": "#operator_overload" }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" + { + "include": "#normal_variable_declaration" + }, + { + "include": "#normal_variable_assignment" + }, + { + "include": "$self" } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" + }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "union_declare": { + "match": "((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.union.cpp" - } - }, - "name": "meta.body.union.cpp", - "patterns": [ - { - "include": "#function_pointer" - }, - { - "include": "#static_assert" - }, - { - "include": "#constructor_inline" + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#destructor_inline" + "2": { + "name": "comment.block.cpp" }, - { - "include": "$self" + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - ] - }, + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:__has_include)|(?:atomic_cancel)|(?:synchronized)|(?:thread_local)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:co_return)|(?:constinit)|(?:namespace)|(?:protected)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?:noexcept)|(?:typename)|(?:requires)|(?:co_yield)|(?:nullptr)|(?:alignof)|(?:alignas)|(?:default)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:define)|(?:module)|(?:sizeof)|(?:switch)|(?:delete)|(?:pragma)|(?:and_eq)|(?:inline)|(?:xor_eq)|(?:typeid)|(?:import)|(?:extern)|(?:public)|(?:bitand)|(?:static)|(?:export)|(?:return)|(?:friend)|(?:ifndef)|(?:not_eq)|(?:false)|(?:final)|(?:break)|(?:const)|(?:catch)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:audit)|(?:while)|(?:using)|(?:axiom)|(?:or_eq)|(?:compl)|(?:throw)|(?:bitor)|(?:const)|(?:line)|(?:case)|(?:else)|(?:this)|(?:true)|(?:goto)|(?:else)|(?:NULL)|(?:elif)|(?:new)|(?:asm)|(?:xor)|(?:and)|(?:try)|(?:not)|(?:for)|(?:do)|(?:if)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "vararg_ellipses": { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", "captures": { "1": { - "name": "storage.modifier.cpp" - }, - "2": { "patterns": [ { - "include": "#inline_comment" + "include": "#storage_specifiers" } ] }, - "3": { + "2": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -15948,14 +19565,14 @@ } ] }, - "4": { + "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "5": { + "4": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -15973,15 +19590,15 @@ } ] }, - "6": { - "name": "meta.qualified_type.cpp", + "5": { + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -16028,7 +19628,7 @@ } ] }, - "7": { + "6": { "patterns": [ { "include": "#attributes_context" @@ -16038,14 +19638,14 @@ } ] }, - "8": { + "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { + "8": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -16063,14 +19663,14 @@ } ] }, - "10": { + "9": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { + "10": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -16088,7 +19688,7 @@ } ] }, - "12": { + "11": { "patterns": [ { "match": "::", @@ -16099,27 +19699,25 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, - "13": { + "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "14": { - }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { + "15": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -16138,23 +19736,47 @@ ] }, "17": { - } - } - }, - "undef": { - "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { + "22": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { + "23": { "patterns": [ { - "include": "#attributes_context" - }, - { - "include": "#number_literal" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } } ] }, - "7": { + "24": { + "name": "variable.lower-case.cpp variable.other.assignment.cpp" + }, + "25": { + "name": "variable.snake-case.cpp variable.other.assignment.cpp" + }, + "26": { + "name": "variable.camel-case.cpp variable.other.assignment.cpp" + }, + "27": { + "name": "variable.upper-case.cpp variable.other.assignment.cpp" + }, + "28": { + "name": "variable.other.unknown.$28.cpp" + }, + "29": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { + "30": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.union.cpp" - } - }, - "name": "meta.body.union.cpp", + "9": { "patterns": [ { - "include": "#function_pointer" - }, + "include": "#inline_comment" + } + ] + }, + "10": { + "patterns": [ { - "include": "#static_assert" - }, + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "11": { + "patterns": [ { - "include": "#constructor_inline" + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { - "include": "#destructor_inline" + "match": "(?|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", + "12": { "patterns": [ { - "include": "$self" + "include": "#template_call_range_helper" } ] - } - ] - }, - "union_declare": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((? `/(?:foo)/ - `.or(*attributes)` adds an alternation (`|`) - example: `Pattern.new(/foo/).or(/bar/)` => `/foo|(?:bar)/` - please note you may need more shy groups depending on order - `Pattern.new(/foo/).or(/bar/).maybe(@spaces)` becomes (simplified) `/(?:foo|bar)\s*/` + `Pattern.new(/foo/).or(/bar/).maybe(@spaces)` becomes (simplified) `/(?:foo|bar)\s*/` NOT `/(?:foo|bar\s*)/` - `maybe(*attributes)` or `.maybe(*attributes)` causes the pattern to match zero or one times (`?`) - example `maybe(/foo/)` => `/(?:foo)?/` -- `zeroOrMoreTimes(*attributes)` or `.zeroOrMoreTimes(*attributes)` causes the pattern to be matched zero or more times (`*`) - - example `zeroOrMoreTimes(/foo/)` => `/(?:foo)*/` -- `oneOrMoreTimes(*attributes)` or `.oneOrMoreTimes(*attributes)` causes the pattern to be matched one or more times (`+`) - - example `oneOrMoreTimes(/foo/)` => `/(?:foo)+/` +- `zeroOrMoreOf(*attributes)` or `.zeroOrMoreOf(*attributes)` causes the pattern to be matched zero or more times (`*`) + - example `zeroOrMoreOf(/foo/)` => `/(?:foo)*/` +- `oneOrMoreOf(*attributes)` or `.oneOrMoreOf(*attributes)` causes the pattern to be matched one or more times (`+`) + - example `oneOrMoreOf(/foo/)` => `/(?:foo)+/` - `lookBehindFor(regex)` or `.lookBehindFor(regex)` add a positive lookbehind - example `lookBehindFor(/foo/)` => `/(?<=foo)/` - `lookBehindToAvoid(regex)` or `.lookBehindToAvoid(regex)` add a negative lookbehind @@ -153,15 +156,91 @@ Regex is pretty hard to read, so this repo uses a library to help. - example `Pattern.new(match: /foo|bar/, reference: "foobar").matchResultOf("foobar")` => `/(foo|bar)\1/` - matches: `foofoo` and `barbar` but not `foobar` -helpers that are marked as accepting `*attributes` can accept either a regular expression, a hash that provides more info, or a variable that is either of those. -the hash provided to the helper patterns can have the following keys: - - `match:` the regular expression that should be matched - - `tag_as:` the scope-name to give this sub-expression - - `reference:` a name used to refer to this sub-expression in a `tag_as` or `back_reference` - - `comment:` unused, use regular ruby comments - - `should_partial_match`, `should_not_partial_match`, `should_fully_match`, and `should_not_fully_match` see unit testing +### Pattern API Details + +- The `*attributes` can be: + - A regular expression: `Pattern.new(/stuff/)` + - Another pattern: `Pattern.new(Pattern.new(/blah/))`) + - Or a bunch of named arguments: `Pattern.new({ match: /stuff/, })` +Here's a comprehesive list of named arguments (not all can be used together) + +```ruby +Pattern.new( + # unit tests + should_partial_match: [ "example text", ], + should_fully_match: [ "example text", ], + should_not_partial_match: [ "example text", ], + should_not_fully_match: [ "example text", ], + + # typical arguments + match: //, # regex or another pattern + tag_as: "", # string (textmate scope, which can contain space-sperated scopes) + comment: "", # a comment that will show up in the final generated-grammar file (rarely used) + includes: [ + :other_pattern_name, + # alternatively include Pattern.new OR PatternRange.new directly + PatternRange.new( + # stuff + ), + ], + # NOTE! if "includes:" is used then Textmate will ignore any sub-"tag_as" + # if "match:" is regex then this is not a problem (there are no sub-"tag_as"'s) + # BUT something like match: Pattern.new(match:/sub-thing1/,).then(match:/sub-thing2/, tag_as: "blah") + # then the tag_as: "blah" will get + # and instead let the included patterns do all the tagging + + + # + # repetition arguments + # + at_least: 3.times, + at_most: 5.times, + how_many_times?: 5.times, # repeat exactly 5 times + + # the follow two only works in repeating patterns (like at_least: ... or zeroOrMoreOf(), or oneOrMoreOf()) + as_few_as_possible?: false, + # equivlent to regex lazy option + # default value is false + # see https://stackoverflow.com/questions/2301285/what-do-lazy-and-greedy-mean-in-the-context-of-regular-expressions + # "as_few_as_possible?:" has an equivlent alias "lazy?:" + dont_back_track?: false, + # this is equivlent to regex atomic groups (can be efficient) + # default value is false + # http://www.rexegg.com/regex-disambiguation.html#atomic + # "dont_back_track?:" has an equivlent alias "possessive?:" + + # + # advanced + # + word_cannot_be_any_of: [ "word1" ], # default=[] + # this is highly useful for matching var-names while not matching builtin-keywords + # HOWEVERY only use this if + # 1. you're matching the whole word, not a small part of a word + # 2. the pattern always matches something (the pattern cant match an empty string) + # 3. what you consider a "word" matches the regex boundary's (\b) definition, meaning; + # underscore is not a seperator, dash is a seperator, etc + # this has limited usecase but is very useful when needed + + reference: "", # to create a name that can be referenced later for (regex backreferences) + preserve_references?: false, # default=false, setting to true will allow for + # reference name conflict. Usually the names are scrambled to prevent name-conflict + + # + # internal API (dont use directly, but listed here for comprehesiveness sake) + # + backreference_key: "reference_name", # use matchResultOf(), which is equivlent to regex backreference + subroutine_key: "reference_name", # use recursivelyMatch(), which is equivlent to regex subroutine + type: :lookAheadFor, # only valid values are :lookAheadFor, :lookAheadToAvoid, :lookBehindFor, :lookBehindToAvoid + # just used as a means of implementing lookAheadFor(), lookAheadToAvoid(), etc + placeholder: "name", # useful for recursive includes or patterns; grammar[:a_pattern] will return a placeholder + # if the pattern has not been created yet (e.g. grammar[:a_pattern] = a_pattern) + # when a grammar is exported unresolved placeholders will throw an error + adjectives: [ :isAKeyword, ], # a list of adjectives that describe the pattern, part of an untested grammar.tokenMatching() feature + pattern_filter: ->(pattern) {}, # part of untested grammar.tokenMatching() feature, only works with placeholders +) +``` ### PatternRange `PatternRange.new` is used to create a begin/end pattern rule. @@ -181,10 +260,21 @@ PatternRange.new( should_fully_match: [], should_not_fully_match: [], + # # advanced options - tag_contents_as: "", - while_pattern: Pattern.new(), # replaces "end_pattern" but the underlying behavior is strange, see: https://github.com/jeff-hykin/fornix/blob/877b89c5d4b2e51c6bf6bd019d3b34b04aaabe72/documentation/library/textmate_while.md#L1 - apply_end_pattern_last: false, # boolean, see https://www.apeth.com/nonblog/stories/textmatebundle.html + # + tag_contents_as: "", # NOTE; this is an alternative to "tag_as:" not to be used in combination + while_pattern: Pattern.new(), + # replaces "end_pattern" but the underlying behavior is strange, see: https://github.com/jeff-hykin/fornix/blob/74272281599174dcfc4ef163b770b2d5a1c5dc05/documentation/library/textmate_while.md#L1 + apply_end_pattern_last: false, + # default=false, rarely used but can be important + # see https://www.apeth.com/nonblog/stories/textmatebundle.html + # also has an alias "end_pattern_last:" + # also (for legacy reasons) has an alias "applyEndPatternLast:" + + tag_start_as: "", # not really used, instead just do start_pattern: Pattern.new(match:/blah/, tag_as:"blah") + tag_end_as: "", # not really used, instead just do end_pattern: Pattern.new(match:/blah/, tag_as:"blah") + tag_while_as: "", # not really used, instead just do while_pattern: Pattern.new(match:/blah/, tag_as:"blah") ) ``` diff --git a/gemset.nix b/gemset.nix index 8f557842..eeda57d5 100644 --- a/gemset.nix +++ b/gemset.nix @@ -15,10 +15,10 @@ platforms = []; source = { remotes = ["http://rubygems.org"]; - sha256 = "190rs70ir7ag24dh715ccr2isv9ks149n9j17b0bga70q5wfaxn2"; + sha256 = "1c6s6qnd5g46agbb7mk1nf2w4zzh29lm9wl2cy0c9ynp0y27kyjq"; type = "gem"; }; - version = "1.1.8"; + version = "1.1.10"; }; walk_up = { groups = ["default"]; diff --git a/language_examples/ #587.spec.yaml b/language_examples/ #587.spec.yaml index 3f1426b3..7c38d92d 100644 --- a/language_examples/ #587.spec.yaml +++ b/language_examples/ #587.spec.yaml @@ -66,7 +66,7 @@ - punctuation.separator.colon.inheritance - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#002.spec.yaml b/language_examples/#002.spec.yaml index 4f9c8b55..3148fe6b 100644 --- a/language_examples/#002.spec.yaml +++ b/language_examples/#002.spec.yaml @@ -37,7 +37,7 @@ - meta.body.class - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -134,7 +134,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#003.spec.yaml b/language_examples/#003.spec.yaml index 1a238b31..bb569065 100644 --- a/language_examples/#003.spec.yaml +++ b/language_examples/#003.spec.yaml @@ -15,7 +15,7 @@ - meta.body.namespace - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -97,7 +97,7 @@ - meta.body.namespace - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#004.spec.yaml b/language_examples/#004.spec.yaml index a66dc925..f3d8900e 100644 --- a/language_examples/#004.spec.yaml +++ b/language_examples/#004.spec.yaml @@ -43,6 +43,7 @@ - constant.numeric.decimal - source: ms scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '1' scopesBegin: @@ -76,6 +77,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0b scopes: @@ -107,6 +109,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: diff --git a/language_examples/#005.spec.yaml b/language_examples/#005.spec.yaml index 621254c0..b3db0c86 100644 --- a/language_examples/#005.spec.yaml +++ b/language_examples/#005.spec.yaml @@ -2,7 +2,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' foo ' +- source: foo + scopes: + - variable.lower-case + - variable.other.unknown.foo - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#006.spec.yaml b/language_examples/#006.spec.yaml index 85a29e8c..ec9ae5c2 100644 --- a/language_examples/#006.spec.yaml +++ b/language_examples/#006.spec.yaml @@ -2,7 +2,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' bar ' +- source: bar + scopes: + - variable.lower-case + - variable.other.unknown.bar - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#010.spec.yaml b/language_examples/#010.spec.yaml index d5666174..afb56e7a 100644 --- a/language_examples/#010.spec.yaml +++ b/language_examples/#010.spec.yaml @@ -3,10 +3,12 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: '498729' scopes: - constant.numeric.decimal - source: l scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer diff --git a/language_examples/#011.spec.yaml b/language_examples/#011.spec.yaml index 0e96f38b..7af463c3 100644 --- a/language_examples/#011.spec.yaml +++ b/language_examples/#011.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: aaaa diff --git a/language_examples/#012.spec.yaml b/language_examples/#012.spec.yaml index a35bedf4..e12d63a6 100644 --- a/language_examples/#012.spec.yaml +++ b/language_examples/#012.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: deleteFoo @@ -26,7 +26,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: namespaceFoo @@ -50,7 +50,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: override @@ -74,7 +74,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: final @@ -98,7 +98,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: audit @@ -122,7 +122,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: axiom @@ -146,7 +146,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: transaction_safe @@ -170,7 +170,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: transaction_safe_dynamic diff --git a/language_examples/#014.spec.yaml b/language_examples/#014.spec.yaml index cb763601..13d7d94c 100644 --- a/language_examples/#014.spec.yaml +++ b/language_examples/#014.spec.yaml @@ -35,7 +35,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#016.spec.yaml b/language_examples/#016.spec.yaml index 208ca009..15812094 100644 --- a/language_examples/#016.spec.yaml +++ b/language_examples/#016.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator diff --git a/language_examples/#017.spec.yaml b/language_examples/#017.spec.yaml index 23216d51..a5a3d64f 100644 --- a/language_examples/#017.spec.yaml +++ b/language_examples/#017.spec.yaml @@ -78,7 +78,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: LineReader @@ -102,7 +102,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Line_Reader @@ -126,7 +126,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Line\u00b7Reader @@ -150,7 +150,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Line\U0002070EReader diff --git a/language_examples/#018.spec.yaml b/language_examples/#018.spec.yaml index 6bc8ca46..9c863794 100644 --- a/language_examples/#018.spec.yaml +++ b/language_examples/#018.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -138,7 +138,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/#020.spec.yaml b/language_examples/#020.spec.yaml index c7b9fedf..3b08176c 100644 --- a/language_examples/#020.spec.yaml +++ b/language_examples/#020.spec.yaml @@ -17,7 +17,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -27,7 +30,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -52,7 +58,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -62,7 +71,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -87,7 +99,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -97,7 +112,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -122,7 +140,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -132,7 +153,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -142,7 +166,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -182,7 +206,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -192,7 +219,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -217,7 +247,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -227,7 +260,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -252,7 +288,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -262,7 +301,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -287,7 +329,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -297,7 +342,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#022.spec.yaml b/language_examples/#022.spec.yaml index d12af5d5..e7be2678 100644 --- a/language_examples/#022.spec.yaml +++ b/language_examples/#022.spec.yaml @@ -5,6 +5,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: user_input + scopes: + - variable.snake-case + - variable.other.unknown.user_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -33,10 +36,16 @@ scopes: - keyword.operator.bitwise - source: arg0 + scopes: + - variable.lower-case + - variable.other.unknown.arg0 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' arg_str' +- source: arg_str + scopes: + - variable.snake-case + - variable.other.unknown.arg_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -55,7 +64,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -74,9 +83,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' t ' +- source: t scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -95,7 +107,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' tmp ' +- source: tmp + scopes: + - variable.lower-case + - variable.other.unknown.tmp - source: '=' scopes: - keyword.operator.assignment @@ -109,6 +124,9 @@ scopes: - keyword.operator.bitwise - source: t + scopes: + - variable.lower-case + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -122,6 +140,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: timestr + scopes: + - variable.lower-case + - variable.other.unknown.timestr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -135,6 +156,8 @@ - source: timestr scopes: - meta.arguments.operator.sizeof + - variable.lower-case + - variable.other.unknown.timestr - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -162,7 +185,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tmp' +- source: tmp + scopes: + - variable.lower-case + - variable.other.unknown.tmp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#024.spec.yaml b/language_examples/#024.spec.yaml index 99022def..8248a2f3 100644 --- a/language_examples/#024.spec.yaml +++ b/language_examples/#024.spec.yaml @@ -38,7 +38,7 @@ - storage.type.modifier.access.public - source: ClassA scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -135,7 +135,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -146,7 +146,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance @@ -155,7 +155,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -166,7 +166,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class diff --git a/language_examples/#025.spec.yaml b/language_examples/#025.spec.yaml index 2af035db..1f34bf23 100644 --- a/language_examples/#025.spec.yaml +++ b/language_examples/#025.spec.yaml @@ -8,7 +8,13 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: Stats aStats +- source: Stats + scopes: + - variable.other.unknown.Stats +- source: aStats + scopes: + - variable.camel-case + - variable.other.unknown.aStats - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25,7 +31,13 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' Stats aStats' +- source: Stats + scopes: + - variable.other.unknown.Stats +- source: aStats + scopes: + - variable.camel-case + - variable.other.unknown.aStats - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42,7 +54,13 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' Stats aStats' +- source: Stats + scopes: + - variable.other.unknown.Stats +- source: aStats + scopes: + - variable.camel-case + - variable.other.unknown.aStats - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -70,12 +88,20 @@ - storage.type.primitive - storage.type.built-in.primitive - source: FillStats + scopes: + - variable.other.unknown.FillStats - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' Stats aStats' +- source: Stats + scopes: + - variable.other.unknown.Stats +- source: aStats + scopes: + - variable.camel-case + - variable.other.unknown.aStats - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#026.spec.yaml b/language_examples/#026.spec.yaml index 89720bb1..6e22d26c 100644 --- a/language_examples/#026.spec.yaml +++ b/language_examples/#026.spec.yaml @@ -15,7 +15,7 @@ scopesBegin: - meta.body.struct scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -41,7 +41,7 @@ - punctuation.terminator.statement - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -70,7 +70,7 @@ - punctuation.terminator.statement - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -105,7 +105,7 @@ - punctuation.terminator.statement - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -176,7 +176,7 @@ scopesBegin: - meta.body.union scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( diff --git a/language_examples/#027.spec.yaml b/language_examples/#027.spec.yaml index 6f5a928c..02243290 100644 --- a/language_examples/#027.spec.yaml +++ b/language_examples/#027.spec.yaml @@ -21,7 +21,10 @@ - source: a scopes: - entity.name.function.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/#030.spec.yaml b/language_examples/#030.spec.yaml index 7c726f08..b2450d04 100644 --- a/language_examples/#030.spec.yaml +++ b/language_examples/#030.spec.yaml @@ -91,7 +91,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: __VA_ARGS__ scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -112,6 +112,8 @@ scopes: - constant.character.escape.line-continuation - source: static + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -119,15 +121,25 @@ - storage.modifier.specifier.const - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' isPoint ' +- source: isPoint + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -171,6 +183,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: T + scopes: + - variable.upper-case + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -213,7 +228,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -226,7 +241,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -237,7 +252,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: \ scopes: - constant.character.escape.line-continuation @@ -286,6 +301,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: T + scopes: + - variable.upper-case + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -328,7 +346,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -341,7 +359,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -352,7 +370,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: \ scopes: - constant.character.escape.line-continuation @@ -421,7 +439,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -448,7 +466,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -462,7 +480,7 @@ - punctuation.separator.scope-resolution.template.call - source: isPoint scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -478,7 +496,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -493,7 +511,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -520,7 +538,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: U scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -534,7 +552,7 @@ - punctuation.separator.scope-resolution.template.call - source: isPoint scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -551,7 +569,7 @@ - entity.name.type scopesEnd: - meta.template.definition - - meta.qualified_type + - meta.qualified-type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.definition @@ -625,6 +643,7 @@ - source: static scopesBegin: - meta.body.struct + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -632,15 +651,25 @@ - storage.modifier.specifier.const - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' isPoint ' +- source: isPoint + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -689,6 +718,7 @@ - source: static scopesBegin: - meta.body.struct + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -696,15 +726,25 @@ - storage.modifier.specifier.const - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' value ' +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -753,6 +793,7 @@ - source: static scopesBegin: - meta.body.struct + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -760,15 +801,25 @@ - storage.modifier.specifier.const - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' value ' +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#032.spec.yaml b/language_examples/#032.spec.yaml index 28647fb3..ee53f3a7 100644 --- a/language_examples/#032.spec.yaml +++ b/language_examples/#032.spec.yaml @@ -8,7 +8,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#033.spec.yaml b/language_examples/#033.spec.yaml index 2b3f7f37..3493576c 100644 --- a/language_examples/#033.spec.yaml +++ b/language_examples/#033.spec.yaml @@ -1,12 +1,21 @@ - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: string + scopes: + - variable.lower-case + - variable.other.unknown.string - source: '>>' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/#034.spec.yaml b/language_examples/#034.spec.yaml index 1de5bc61..eed076ae 100644 --- a/language_examples/#034.spec.yaml +++ b/language_examples/#034.spec.yaml @@ -42,6 +42,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: addr + scopes: + - variable.lower-case + - variable.other.unknown.addr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -50,11 +53,17 @@ - source: < scopes: - keyword.operator.comparison -- source: ' UPGRADE_BASE_ADDR ' +- source: UPGRADE_BASE_ADDR + scopes: + - variable.upper-case + - variable.other.unknown.UPGRADE_BASE_ADDR - source: + scopes: - keyword.operator.arithmetic -- source: ' UPGRADE_SPACE_SIZE' +- source: UPGRADE_SPACE_SIZE + scopes: + - variable.upper-case + - variable.other.unknown.UPGRADE_SPACE_SIZE - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#035.spec.yaml b/language_examples/#035.spec.yaml index 10b18130..bb41c767 100644 --- a/language_examples/#035.spec.yaml +++ b/language_examples/#035.spec.yaml @@ -74,6 +74,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopesBegin: - meta.template.call @@ -98,7 +101,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -165,7 +168,7 @@ - meta.body.struct - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator diff --git a/language_examples/#036.spec.yaml b/language_examples/#036.spec.yaml index 24d92257..52f21421 100644 --- a/language_examples/#036.spec.yaml +++ b/language_examples/#036.spec.yaml @@ -1,4 +1,7 @@ -- source: 'vector ' +- source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison diff --git a/language_examples/#043.spec.yaml b/language_examples/#043.spec.yaml index 6c42bfe4..0312603e 100644 --- a/language_examples/#043.spec.yaml +++ b/language_examples/#043.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -42,6 +42,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_signed_v + scopes: + - variable.other.unknown.is_signed_v - source: < scopes: - keyword.operator.comparison diff --git a/language_examples/#047.spec.yaml b/language_examples/#047.spec.yaml index 42c4437b..0216593f 100644 --- a/language_examples/#047.spec.yaml +++ b/language_examples/#047.spec.yaml @@ -14,7 +14,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -36,14 +36,22 @@ - source: enum scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type scopes: - - storage.type.enum.declare + - storage.type.enum - source: bar scopes: - - entity.name.type.enum + - entity.name.type + scopesEnd: + - meta.qualified-type - source: b scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#050.spec.yaml b/language_examples/#050.spec.yaml index f47429d1..c1de4cb5 100644 --- a/language_examples/#050.spec.yaml +++ b/language_examples/#050.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -34,6 +34,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: test + scopes: + - variable.lower-case + - variable.other.unknown.test - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch diff --git a/language_examples/#051.spec.yaml b/language_examples/#051.spec.yaml index ba952ab8..67a775b2 100644 --- a/language_examples/#051.spec.yaml +++ b/language_examples/#051.spec.yaml @@ -61,19 +61,25 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype -- source: ' B ' +- source: B + scopes: + - variable.upper-case + - variable.other.unknown.B - source: '=' scopes: - keyword.operator.assignment - source: A scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#053.spec.yaml b/language_examples/#053.spec.yaml index 7f18df14..6126363e 100644 --- a/language_examples/#053.spec.yaml +++ b/language_examples/#053.spec.yaml @@ -42,7 +42,7 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#055.spec.yaml b/language_examples/#055.spec.yaml index c0c7a158..3bce7ad1 100644 --- a/language_examples/#055.spec.yaml +++ b/language_examples/#055.spec.yaml @@ -38,7 +38,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#058.spec.yaml b/language_examples/#058.spec.yaml index 599a225e..3871869e 100644 --- a/language_examples/#058.spec.yaml +++ b/language_examples/#058.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: GetThing scopesBegin: diff --git a/language_examples/#059.spec.yaml b/language_examples/#059.spec.yaml index 6db126e8..e039db31 100644 --- a/language_examples/#059.spec.yaml +++ b/language_examples/#059.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -24,13 +24,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' postWakeup ' +- source: postWakeup + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: wpi scopes: - entity.name.scope-resolution @@ -71,28 +80,41 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: loop + scopes: + - variable.lower-case + - variable.other.unknown.loop - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' m_postMessageWakeup' +- source: m_postMessageWakeup + scopes: + - variable.snake-case + - variable.other.unknown.m_postMessageWakeup - source: '=' scopes: - keyword.operator.assignment -- source: ' postWakeup' +- source: postWakeup + scopes: + - variable.camel-case + - variable.other.unknown.postWakeup - source: ; scopes: - punctuation.terminator.statement - source: postWakeup scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.postWakeup - source: '->' scopes: - punctuation.separator.pointer-access - source: wakeup scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -119,16 +141,27 @@ scopes: - punctuation.section.block.begin.bracket.curly.lambda - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' pipe ' +- source: pipe + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: m_pipe scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.m_pipe - source: . scopes: - punctuation.separator.dot-access @@ -141,6 +174,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#060.spec.yaml b/language_examples/#060.spec.yaml index 7daa1f13..4e364d29 100644 --- a/language_examples/#060.spec.yaml +++ b/language_examples/#060.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -21,9 +21,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: 'stream ' +- source: stream scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -46,7 +49,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -80,7 +86,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -114,7 +123,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -148,7 +160,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -182,7 +197,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -216,7 +234,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -250,7 +271,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -285,6 +309,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: val + scopes: + - variable.lower-case + - variable.other.unknown.val - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#062.spec.yaml b/language_examples/#062.spec.yaml index 3d900b58..3a6181a7 100644 --- a/language_examples/#062.spec.yaml +++ b/language_examples/#062.spec.yaml @@ -1,7 +1,10 @@ - source: typedef scopes: - keyword.other.typedef -- source: ' foo' +- source: foo + scopes: + - variable.lower-case + - variable.other.unknown.foo - source: int scopes: - storage.type.primitive diff --git a/language_examples/#064.spec.yaml b/language_examples/#064.spec.yaml index 421f0a10..13225efe 100644 --- a/language_examples/#064.spec.yaml +++ b/language_examples/#064.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -24,16 +24,25 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -43,20 +52,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -65,20 +86,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -89,20 +122,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -112,20 +157,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -144,21 +201,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -176,21 +244,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -210,21 +289,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -243,21 +333,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -274,7 +375,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -284,20 +388,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -313,7 +429,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -323,20 +442,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -353,7 +484,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -364,20 +498,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -393,7 +539,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -404,20 +553,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -434,7 +595,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -449,21 +613,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -479,7 +654,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -494,21 +672,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -525,7 +714,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -545,21 +737,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -575,7 +778,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -595,6 +801,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -604,7 +811,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -612,7 +822,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -627,7 +840,10 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -641,7 +857,10 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -656,6 +875,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -674,6 +896,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -699,6 +924,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -723,6 +951,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -742,10 +973,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -764,10 +1001,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -793,10 +1036,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -821,10 +1070,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#071.cpp b/language_examples/#071.cpp index 4506ae18..32eb1cd0 100644 --- a/language_examples/#071.cpp +++ b/language_examples/#071.cpp @@ -15,4 +15,17 @@ usertype user_value{'A'}; scoped::templated value; compound::type value; int a[] = {1,2,3}; -void function_declaration(int *, usertype user_value); \ No newline at end of file +function_declaration(int *, usertype user_value); + +int main() { + int* a; + int b; + usertype user_value[] = {1,2,3}; + usertype* user_value[] = {1,2,3}; + usertype* user_value[1]; + usertype user_value{'A'}; + scoped::templated value; + compound::type value; + int a[] = {1,2,3}; + function_declaration(int *, usertype user_value); +} \ No newline at end of file diff --git a/language_examples/#071.spec.yaml b/language_examples/#071.spec.yaml index b4e624ba..446320b1 100644 --- a/language_examples/#071.spec.yaml +++ b/language_examples/#071.spec.yaml @@ -14,26 +14,62 @@ - source: int scopesBegin: - meta.body.struct + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' b' +- source: b + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' usertype user_value' +- source: usertype + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: user_value + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' usertype user_value' +- source: usertype + scopes: + - meta.qualified-type + - entity.name.type +- source: user_value + scopes: + - variable.snake-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -60,9 +96,19 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a[] ' +- source: a + scopes: + - variable.lower-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -95,6 +141,9 @@ scopes: - punctuation.terminator.statement - source: scoped + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -102,18 +151,37 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: templated + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: type + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' value' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: value + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: compound + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: < @@ -127,7 +195,7 @@ - storage.modifier - source: templated scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -138,7 +206,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - keyword.operator.arithmetic @@ -152,7 +220,18 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: type value +- source: type + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: value + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -170,7 +249,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -178,15 +260,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement -- source: usertype user_value +- source: usertype + scopes: + - variable.lower-case + - variable.other.unknown.usertype +- source: user_value + scopes: + - variable.snake-case + - variable.other.unknown.user_value - source: ; scopes: - punctuation.terminator.statement -- source: usertype user_value +- source: usertype + scopes: + - meta.qualified-type + - entity.name.type +- source: user_value + scopes: + - variable.snake-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -219,14 +318,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: templated + scopes: + - variable.lower-case + - variable.other.unknown.templated - source: < scopes: - keyword.operator.comparison - source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '>' scopes: - keyword.operator.comparison -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -244,7 +352,7 @@ - storage.modifier - source: templated scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -255,7 +363,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - keyword.operator.arithmetic @@ -269,15 +377,34 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: type value +- source: type + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.type +- source: value + scopes: + - variable.other.unknown.value + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a[] ' +- source: a + scopes: + - variable.lower-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -309,14 +436,44 @@ - source: ; scopes: - punctuation.terminator.statement -- source: void +- source: function_declaration + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: usertype + scopes: + - variable.lower-case + - variable.other.unknown.usertype +- source: user_value + scopes: + - variable.snake-case + - variable.other.unknown.user_value +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: int scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: function_declaration +- source: main scopesBegin: - meta.head.function.definition scopes: @@ -324,34 +481,379 @@ - source: ( scopes: - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition - source: int scopesBegin: - - meta.function.definition.parameters - - meta.parameter + - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: b + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: usertype + scopes: + - meta.qualified-type + - entity.name.type +- source: user_value + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '1' + scopes: + - constant.numeric.decimal - source: ',' scopes: - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '3' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement - source: usertype scopes: - - entity.name.type.parameter + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer - source: user_value scopes: - - variable.parameter + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '3' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly scopesEnd: - - meta.function.definition.parameters - - meta.parameter -- source: ) + - meta.block +- source: ; scopes: - - punctuation.section.parameters.end.bracket.round + - punctuation.terminator.statement +- source: usertype + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: user_value + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square scopesEnd: - - meta.function.definition - - meta.head.function.definition + - meta.declaration + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: usertype + scopes: + - meta.qualified-type + - entity.name.type +- source: user_value + scopes: + - variable.snake-case + - variable.other.object.construction +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: A +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: scoped + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: templated + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: type + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: value + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: compound + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: typename + scopes: + - storage.modifier +- source: templated + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: type + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: type + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: value + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: a + scopes: + - variable.lower-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '3' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: function_declaration + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: usertype + scopes: + - variable.lower-case + - variable.other.unknown.usertype +- source: user_value + scopes: + - variable.snake-case + - variable.other.unknown.user_value +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#072.spec.yaml b/language_examples/#072.spec.yaml index f6da471a..a8366b9f 100644 --- a/language_examples/#072.spec.yaml +++ b/language_examples/#072.spec.yaml @@ -16,7 +16,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc @@ -60,7 +60,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc @@ -104,7 +104,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc @@ -148,7 +148,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc diff --git a/language_examples/#076.spec.yaml b/language_examples/#076.spec.yaml index acaf757b..28c56e91 100644 --- a/language_examples/#076.spec.yaml +++ b/language_examples/#076.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __cdecl diff --git a/language_examples/#082.spec.yaml b/language_examples/#082.spec.yaml index 82a536fc..a09158d0 100644 --- a/language_examples/#082.spec.yaml +++ b/language_examples/#082.spec.yaml @@ -15,21 +15,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -59,7 +59,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -76,7 +76,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -227,7 +227,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -270,7 +270,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -282,7 +282,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -375,21 +375,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -419,7 +419,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -436,7 +436,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -587,7 +587,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -630,7 +630,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -642,7 +642,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid diff --git a/language_examples/#083.spec.yaml b/language_examples/#083.spec.yaml index 0a32a6b6..6128cd35 100644 --- a/language_examples/#083.spec.yaml +++ b/language_examples/#083.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ABC diff --git a/language_examples/#085.spec.yaml b/language_examples/#085.spec.yaml index 304583dc..73033057 100644 --- a/language_examples/#085.spec.yaml +++ b/language_examples/#085.spec.yaml @@ -33,7 +33,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: inBlock diff --git a/language_examples/#087.spec.yaml b/language_examples/#087.spec.yaml index b2c7c714..97577bb4 100644 --- a/language_examples/#087.spec.yaml +++ b/language_examples/#087.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -34,7 +34,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -47,7 +47,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cn - source: . scopes: - punctuation.separator.dot-access @@ -57,7 +58,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' common' +- source: common + scopes: + - variable.lower-case + - variable.other.unknown.common - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -96,7 +100,7 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -109,7 +113,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cn - source: . scopes: - punctuation.separator.dot-access @@ -119,7 +124,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' common' +- source: common + scopes: + - variable.lower-case + - variable.other.unknown.common - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#088.spec.yaml b/language_examples/#088.spec.yaml index 725ae015..1a6c9343 100644 --- a/language_examples/#088.spec.yaml +++ b/language_examples/#088.spec.yaml @@ -18,7 +18,14 @@ scopes: - meta.preprocessor.conditional - entity.name.function.preprocessor -- source: cbuffer testCB +- source: cbuffer + scopes: + - variable.lower-case + - variable.other.unknown.cbuffer +- source: testCB + scopes: + - variable.camel-case + - variable.other.unknown.testCB - source: '#' scopesBegin: - keyword.control.directive.else @@ -61,10 +68,17 @@ - source: float scopesBegin: - meta.body.struct + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' Brightness' +- source: Brightness + scopes: + - meta.declaration + - variable.other.unknown.Brightness + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#099.spec.yaml b/language_examples/#099.spec.yaml index 29851cca..6f1f46b9 100644 --- a/language_examples/#099.spec.yaml +++ b/language_examples/#099.spec.yaml @@ -2,7 +2,10 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#100.spec.yaml b/language_examples/#100.spec.yaml index 700e6592..1ae32892 100644 --- a/language_examples/#100.spec.yaml +++ b/language_examples/#100.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function diff --git a/language_examples/#106.spec.yaml b/language_examples/#106.spec.yaml index 067dc269..dfa116c5 100644 --- a/language_examples/#106.spec.yaml +++ b/language_examples/#106.spec.yaml @@ -49,7 +49,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: check scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -65,7 +65,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: diff --git a/language_examples/#110.spec.yaml b/language_examples/#110.spec.yaml index 2a6e8e53..5bd294a3 100644 --- a/language_examples/#110.spec.yaml +++ b/language_examples/#110.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function diff --git a/language_examples/#113.spec.yaml b/language_examples/#113.spec.yaml index 6e8e6a6e..8e6cc65a 100644 --- a/language_examples/#113.spec.yaml +++ b/language_examples/#113.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -33,7 +33,8 @@ - punctuation.section.parens.begin.bracket.round - source: files scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.files - source: . scopes: - punctuation.separator.dot-access @@ -75,7 +76,7 @@ - punctuation.separator.scope-resolution.template.call - source: runtime_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: diff --git a/language_examples/#120.spec.yaml b/language_examples/#120.spec.yaml index 928c07d3..7875774d 100644 --- a/language_examples/#120.spec.yaml +++ b/language_examples/#120.spec.yaml @@ -35,6 +35,7 @@ - constant.numeric.hexadecimal - source: luyards scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '0' scopes: @@ -55,10 +56,12 @@ - constant.numeric.hexadecimal - source: x scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '1' scopes: - constant.numeric.decimal - source: Px scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined diff --git a/language_examples/#121.spec.yaml b/language_examples/#121.spec.yaml index a8540239..c71aa3df 100644 --- a/language_examples/#121.spec.yaml +++ b/language_examples/#121.spec.yaml @@ -28,7 +28,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -77,7 +77,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -119,7 +119,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -163,7 +163,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#123.spec.yaml b/language_examples/#123.spec.yaml index f202985e..0a15869c 100644 --- a/language_examples/#123.spec.yaml +++ b/language_examples/#123.spec.yaml @@ -2,7 +2,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -25,7 +28,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' b ' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#128.spec.yaml b/language_examples/#128.spec.yaml index 64cb5d1d..1d554dc8 100644 --- a/language_examples/#128.spec.yaml +++ b/language_examples/#128.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -22,7 +22,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\tentries " +- source: entries + scopes: + - variable.lower-case + - variable.other.unknown.entries - source: '=' scopes: - keyword.operator.assignment @@ -30,7 +33,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' symbolTableEntry ' +- source: symbolTableEntry + scopes: + - variable.camel-case + - variable.other.unknown.symbolTableEntry - source: '*' scopes: - keyword.operator.arithmetic @@ -40,6 +46,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: entriesCount + scopes: + - variable.camel-case + - variable.other.unknown.entriesCount - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -52,7 +61,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar diff --git a/language_examples/#129.spec.yaml b/language_examples/#129.spec.yaml index ffbcc609..db189be8 100644 --- a/language_examples/#129.spec.yaml +++ b/language_examples/#129.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -27,7 +27,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' Foo' +- source: Foo + scopes: + - variable.other.unknown.Foo - source: ; scopes: - punctuation.terminator.statement @@ -41,6 +43,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: Foo + scopes: + - variable.other.unknown.Foo - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -59,12 +63,17 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: fooptr + scopes: + - variable.lower-case + - variable.other.unknown.fooptr - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' Foo' +- source: Foo + scopes: + - variable.other.unknown.Foo - source: ; scopes: - punctuation.terminator.statement @@ -78,6 +87,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: fooptr + scopes: + - variable.lower-case + - variable.other.unknown.fooptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -85,6 +97,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: Foo + scopes: + - variable.other.unknown.Foo - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#130.spec.yaml b/language_examples/#130.spec.yaml index 732964a4..94ff1f46 100644 --- a/language_examples/#130.spec.yaml +++ b/language_examples/#130.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -25,12 +25,14 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access - source: b scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -49,12 +51,14 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access - source: b scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: diff --git a/language_examples/#133.spec.yaml b/language_examples/#133.spec.yaml index 12d267d1..4d387bb5 100644 --- a/language_examples/#133.spec.yaml +++ b/language_examples/#133.spec.yaml @@ -9,7 +9,10 @@ scopes: - storage.type - storage.type.built-in -- source: ' size' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#134.spec.yaml b/language_examples/#134.spec.yaml index 9b0a637c..8f71f3f4 100644 --- a/language_examples/#134.spec.yaml +++ b/language_examples/#134.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -26,7 +26,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -55,7 +55,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -91,7 +91,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -107,7 +107,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -144,7 +144,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -160,7 +160,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -200,7 +200,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -220,7 +220,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -237,7 +240,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -260,7 +263,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -277,7 +283,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -293,7 +299,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -317,7 +323,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -334,7 +343,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -350,7 +359,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -377,7 +386,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter diff --git a/language_examples/#136.spec.yaml b/language_examples/#136.spec.yaml index 1874175b..fd20371b 100644 --- a/language_examples/#136.spec.yaml +++ b/language_examples/#136.spec.yaml @@ -22,7 +22,7 @@ - punctuation.definition.parameters.end.preprocessor - source: _ts scopes: - - variable.other.object.access + - variable.other.unknown._ts - source: '->' scopes: - punctuation.separator.pointer-access @@ -33,6 +33,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/#141.spec.yaml b/language_examples/#141.spec.yaml index 46734529..db0f5434 100644 --- a/language_examples/#141.spec.yaml +++ b/language_examples/#141.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -30,7 +30,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -57,10 +60,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -75,6 +84,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -85,7 +97,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -96,10 +111,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -114,6 +135,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#158.spec.yaml b/language_examples/#158.spec.yaml index 45048561..1607e3d7 100644 --- a/language_examples/#158.spec.yaml +++ b/language_examples/#158.spec.yaml @@ -36,7 +36,7 @@ - meta.body.namespace - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: failedToLoadCriticalData diff --git a/language_examples/#166.spec.yaml b/language_examples/#166.spec.yaml index a7abfec5..911bf551 100644 --- a/language_examples/#166.spec.yaml +++ b/language_examples/#166.spec.yaml @@ -20,7 +20,7 @@ - storage.type.modifier.virtual - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -31,7 +31,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class @@ -77,7 +77,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -88,7 +88,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class diff --git a/language_examples/#186.spec.yaml b/language_examples/#186.spec.yaml index da066dc1..768eca10 100644 --- a/language_examples/#186.spec.yaml +++ b/language_examples/#186.spec.yaml @@ -6,10 +6,16 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -30,7 +36,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'g ' +- source: g + scopes: + - variable.lower-case + - variable.other.unknown.g - source: '=' scopes: - keyword.operator.assignment @@ -46,10 +55,16 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -73,6 +88,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#188.spec.yaml b/language_examples/#188.spec.yaml index 32f020e3..47dc9acb 100644 --- a/language_examples/#188.spec.yaml +++ b/language_examples/#188.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -50,7 +50,8 @@ - punctuation.section.parens.begin.bracket.round - source: audio_spec scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.audio_spec - source: . scopes: - punctuation.separator.dot-access @@ -85,6 +86,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: tgt_fps + scopes: + - variable.snake-case + - variable.other.unknown.tgt_fps - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#198.spec.yaml b/language_examples/#198.spec.yaml index bc9ceac4..e8ef5f81 100644 --- a/language_examples/#198.spec.yaml +++ b/language_examples/#198.spec.yaml @@ -26,7 +26,16 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'string s ' +- source: string + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.string +- source: s + scopes: + - variable.other.unknown.s + scopesEnd: + - variable.lower-case - source: '=' scopes: - keyword.operator.assignment @@ -47,7 +56,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -58,7 +67,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: s scopesBegin: - meta.head.function.definition @@ -92,7 +101,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -103,7 +112,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: s scopesBegin: - meta.head.function.definition diff --git a/language_examples/#203.spec.yaml b/language_examples/#203.spec.yaml index 7aaf76f8..baa19a8f 100644 --- a/language_examples/#203.spec.yaml +++ b/language_examples/#203.spec.yaml @@ -10,7 +10,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fun diff --git a/language_examples/#204.spec.yaml b/language_examples/#204.spec.yaml index 48aaa0b5..0bb32266 100644 --- a/language_examples/#204.spec.yaml +++ b/language_examples/#204.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fun @@ -39,7 +39,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -61,22 +61,39 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment -- source: ' b ' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: '*' scopes: - keyword.operator.arithmetic diff --git a/language_examples/#207.spec.yaml b/language_examples/#207.spec.yaml index 49249a8b..4147cf07 100644 --- a/language_examples/#207.spec.yaml +++ b/language_examples/#207.spec.yaml @@ -191,7 +191,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -206,7 +206,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -274,7 +274,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -289,7 +289,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -357,7 +357,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -372,7 +372,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -443,7 +443,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -458,7 +458,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -530,7 +530,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -545,7 +545,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -620,7 +620,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -635,7 +635,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -710,7 +710,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -725,7 +725,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -790,7 +790,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -805,7 +805,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference diff --git a/language_examples/#210.spec.yaml b/language_examples/#210.spec.yaml index f3175096..882f7c21 100644 --- a/language_examples/#210.spec.yaml +++ b/language_examples/#210.spec.yaml @@ -11,7 +11,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: std_debug_dump @@ -77,13 +77,22 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' succ ' +- source: succ + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: write_log scopes: - entity.name.function.call @@ -102,6 +111,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#218.spec.yaml b/language_examples/#218.spec.yaml index 0d112d53..3c63a82e 100644 --- a/language_examples/#218.spec.yaml +++ b/language_examples/#218.spec.yaml @@ -5,7 +5,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -112,9 +112,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' a a' +- source: a scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -125,38 +136,65 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -165,7 +203,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -179,6 +218,9 @@ scopes: - keyword.operator.bitwise - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -194,14 +236,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -213,45 +265,71 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: 'a ' + - storage.modifier.reference +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access - source: a scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access - source: a scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -263,11 +341,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '&&' scopes: - keyword.operator.logical -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -290,6 +374,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -306,7 +393,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -314,7 +404,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -326,7 +417,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -356,7 +448,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -364,7 +459,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -376,7 +472,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -406,7 +503,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -414,7 +514,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -426,7 +527,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -456,7 +558,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -464,7 +569,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -476,7 +582,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -519,38 +626,65 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -572,7 +706,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -630,25 +764,52 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' a a' +- source: a scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' a a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -684,7 +845,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -705,7 +867,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -716,6 +879,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -724,7 +890,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -735,6 +902,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -748,22 +918,37 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -772,7 +957,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -786,6 +972,9 @@ scopes: - keyword.operator.bitwise - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -801,14 +990,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -827,7 +1026,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -843,15 +1043,24 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#224.spec.yaml b/language_examples/#224.spec.yaml index f38bbd5b..ea347bda 100644 --- a/language_examples/#224.spec.yaml +++ b/language_examples/#224.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -32,34 +32,45 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: const + scopesBegin: + - meta.parens.control.for + - meta.binding scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise + - storage.modifier.reference - source: '[' - scopesBegin: - - meta.bracket.square.access scopes: - - punctuation.definition.begin.bracket.square + - punctuation.definition.begin.bracket.square.binding - source: a + scopes: + - variable.other.for - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.for - source: ']' scopes: - - punctuation.definition.end.bracket.square - scopesEnd: - - meta.bracket.square.access + - punctuation.definition.end.bracket.square.binding - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' c' + scopesEnd: + - meta.binding +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -67,7 +78,8 @@ - meta.parens - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -78,6 +90,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: bug + scopes: + - variable.lower-case + - variable.other.unknown.bug - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -101,31 +116,42 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: const + scopesBegin: + - meta.parens.control.for + - meta.binding scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '[' - scopesBegin: - - meta.bracket.square.access scopes: - - punctuation.definition.begin.bracket.square + - punctuation.definition.begin.bracket.square.binding - source: a + scopes: + - variable.other.for - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.for - source: ']' scopes: - - punctuation.definition.end.bracket.square - scopesEnd: - - meta.bracket.square.access + - punctuation.definition.end.bracket.square.binding - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' c' + scopesEnd: + - meta.binding +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -133,7 +159,8 @@ - meta.parens - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -144,6 +171,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: bug + scopes: + - variable.lower-case + - variable.other.unknown.bug - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/#230.spec.yaml b/language_examples/#230.spec.yaml index 0828e916..42243c45 100644 --- a/language_examples/#230.spec.yaml +++ b/language_examples/#230.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -24,11 +24,15 @@ - source: class scopesBegin: - meta.body.function.definition + - meta.assignment + - meta.qualified-type scopes: - - storage.type.class.declare + - storage.type.class - source: var scopes: - - entity.name.type.class + - entity.name.type + scopesEnd: + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -36,11 +40,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: - - variable.other.object.declare + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -72,6 +81,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -84,11 +95,16 @@ scopesEnd: - comment.line.double-slash - source: struct + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - - storage.type.struct.declare + - storage.type.struct - source: var scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -96,11 +112,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: - - variable.other.object.declare + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -132,6 +153,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -144,11 +167,16 @@ scopesEnd: - comment.line.double-slash - source: enum + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - - storage.type.enum.declare + - storage.type.enum - source: var scopes: - - entity.name.type.enum + - entity.name.type + scopesEnd: + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -156,11 +184,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: - - variable.other.object.declare + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -192,6 +225,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -204,11 +239,16 @@ scopesEnd: - comment.line.double-slash - source: union + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - - storage.type.union.declare + - storage.type.union - source: var scopes: - - entity.name.type.union + - entity.name.type + scopesEnd: + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -216,11 +256,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: - - variable.other.object.declare + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -252,6 +297,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#235.spec.yaml b/language_examples/#235.spec.yaml index a3474ab8..702b836c 100644 --- a/language_examples/#235.spec.yaml +++ b/language_examples/#235.spec.yaml @@ -10,7 +10,10 @@ - source: a scopes: - entity.name.function.preprocessor -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: \ scopes: - constant.character.escape.line-continuation diff --git a/language_examples/#238.spec.yaml b/language_examples/#238.spec.yaml index 07d0a3d6..38827a49 100644 --- a/language_examples/#238.spec.yaml +++ b/language_examples/#238.spec.yaml @@ -63,6 +63,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expr + scopes: + - variable.lower-case + - variable.other.unknown.expr - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#247.spec.yaml b/language_examples/#247.spec.yaml index 2a5f7bad..e38317ec 100644 --- a/language_examples/#247.spec.yaml +++ b/language_examples/#247.spec.yaml @@ -15,16 +15,16 @@ scopesBegin: - meta.body.struct scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: 'true' scopes: - constant.language.true - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -37,24 +37,27 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: bar + scopes: + - variable.lower-case + - variable.other.unknown.bar - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -67,11 +70,11 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement @@ -105,7 +108,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar diff --git a/language_examples/#249.spec.yaml b/language_examples/#249.spec.yaml index a2fdcd3f..00e65042 100644 --- a/language_examples/#249.spec.yaml +++ b/language_examples/#249.spec.yaml @@ -78,10 +78,19 @@ scopesEnd: - storage.type.modifier.access.control.public - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -114,10 +123,19 @@ scopesEnd: - storage.type.modifier.access.control.public - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -134,14 +152,14 @@ - source: class scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -211,14 +229,14 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: class scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -303,7 +321,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#256.spec.yaml b/language_examples/#256.spec.yaml index e99aa3ab..d375e7e2 100644 --- a/language_examples/#256.spec.yaml +++ b/language_examples/#256.spec.yaml @@ -145,9 +145,12 @@ scopes: - >- punctuation.section.arguments.begin.bracket.round.function.call.initializer -- source: '{._s ' +- source: '{.' scopesBegin: - meta.parameter.initialization +- source: _s + scopes: + - variable.other.unknown._s - source: '=' scopes: - keyword.operator.assignment @@ -155,11 +158,17 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' _SSO_Cap}}' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap +- source: '}}' - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -197,7 +206,10 @@ - source: < scopes: - punctuation.section.angle-brackets.begin.template.definition -- source: "\t class " +- source: class + scopes: + - variable.lower-case + - variable.other.unknown.class - source: '=' scopes: - keyword.operator.assignment @@ -233,7 +245,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -247,7 +259,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -341,7 +353,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -353,16 +368,27 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\tCharT " +- source: CharT scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -370,9 +396,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -385,10 +416,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: size_t + scopesBegin: + - meta.parens.control.for scopes: - storage.type - storage.type.built-in -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -398,18 +434,29 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -442,6 +489,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -450,7 +500,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -484,6 +537,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#259.spec.yaml b/language_examples/#259.spec.yaml index 0076aedb..d43dbc73 100644 --- a/language_examples/#259.spec.yaml +++ b/language_examples/#259.spec.yaml @@ -75,7 +75,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -97,13 +97,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -141,7 +150,7 @@ - punctuation.separator.scope-resolution.template.call - source: shared_ptr scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -151,13 +160,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: cc scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: @@ -183,6 +192,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: diff --git a/language_examples/#261.spec.yaml b/language_examples/#261.spec.yaml index 9cf8fab9..b08e0d31 100644 --- a/language_examples/#261.spec.yaml +++ b/language_examples/#261.spec.yaml @@ -5,7 +5,7 @@ - storage.modifier.constexpr - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -33,13 +33,16 @@ - keyword.control.return - source: A scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '?' scopes: - keyword.operator.ternary @@ -72,6 +75,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: A + scopes: + - variable.upper-case + - variable.other.unknown.A - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -80,7 +86,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -99,10 +105,12 @@ - punctuation.separator.scope-resolution - source: A scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: A scopes: - entity.name.scope-resolution.function.call @@ -132,6 +140,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: A + scopes: + - variable.upper-case + - variable.other.unknown.A - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -140,7 +151,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -163,6 +174,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -176,7 +188,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func diff --git a/language_examples/#264.spec.yaml b/language_examples/#264.spec.yaml index 4b3f97e4..505019df 100644 --- a/language_examples/#264.spec.yaml +++ b/language_examples/#264.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -48,7 +48,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' N' +- source: 'N' + scopes: + - variable.upper-case + - variable.other.unknown.N - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -64,10 +67,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -77,11 +85,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: <= scopes: - keyword.operator.comparison -- source: ' N' +- source: 'N' + scopes: + - variable.upper-case + - variable.other.unknown.N - source: ; scopes: - punctuation.terminator.statement @@ -89,6 +103,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -159,10 +178,16 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison - source: 'N' + scopes: + - variable.upper-case + - variable.other.unknown.N - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -175,21 +200,29 @@ scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: perm - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square -- source: 'N ' +- source: 'N' + scopes: + - variable.upper-case + - variable.other.unknown.N - source: + scopes: - keyword.operator.arithmetic @@ -200,6 +233,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -213,10 +247,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -226,11 +265,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: <= scopes: - keyword.operator.comparison -- source: ' N' +- source: 'N' + scopes: + - variable.upper-case + - variable.other.unknown.N - source: ; scopes: - punctuation.terminator.statement @@ -238,6 +283,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -252,6 +302,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -260,7 +313,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ; scopes: - punctuation.terminator.statement @@ -277,7 +333,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'perm ' +- source: perm + scopes: + - variable.lower-case + - variable.other.unknown.perm - source: + scopes: - keyword.operator.arithmetic @@ -287,7 +346,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' perm ' +- source: perm + scopes: + - variable.lower-case + - variable.other.unknown.perm - source: + scopes: - keyword.operator.arithmetic @@ -297,11 +359,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' N' +- source: 'N' + scopes: + - variable.upper-case + - variable.other.unknown.N - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' gen' +- source: gen + scopes: + - variable.lower-case + - variable.other.unknown.gen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#279.spec.yaml b/language_examples/#279.spec.yaml index 69b41d0d..edc749b0 100644 --- a/language_examples/#279.spec.yaml +++ b/language_examples/#279.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#282.spec.yaml b/language_examples/#282.spec.yaml index 48e9a827..b728d594 100644 --- a/language_examples/#282.spec.yaml +++ b/language_examples/#282.spec.yaml @@ -61,7 +61,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -77,7 +77,7 @@ - meta.parameter - meta.initialization scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -117,7 +117,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -138,7 +138,7 @@ scopesBegin: - meta.initialization scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -178,7 +178,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -227,7 +227,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -272,7 +272,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: gen scopesBegin: @@ -337,7 +337,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -348,7 +348,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: eng1 scopesBegin: - meta.head.function.definition @@ -411,7 +411,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#283.spec.yaml b/language_examples/#283.spec.yaml index b4efbb5e..f83b9f86 100644 --- a/language_examples/#283.spec.yaml +++ b/language_examples/#283.spec.yaml @@ -11,7 +11,7 @@ - keyword.operator.assignment - source: another_type scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -33,7 +33,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: diff --git a/language_examples/#287.spec.yaml b/language_examples/#287.spec.yaml index 477668f1..52991a67 100644 --- a/language_examples/#287.spec.yaml +++ b/language_examples/#287.spec.yaml @@ -1,4 +1,7 @@ -- source: 'a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '*' scopesBegin: - keyword.operator.arithmetic @@ -11,7 +14,10 @@ - source: '*' scopesEnd: - keyword.operator.arithmetic -- source: 'a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '&&' scopesBegin: - keyword.operator.logical @@ -39,7 +45,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' string ' +- source: string + scopes: + - variable.lower-case + - variable.other.unknown.string - source: '=' scopes: - keyword.operator.assignment @@ -59,7 +68,8 @@ - punctuation.terminator.statement - source: DEBUG_UART_PORT scopes: - - variable.other.object.access + - variable.upper-case + - variable.other.object.access.DEBUG_UART_PORT - source: . scopes: - punctuation.separator.dot-access @@ -71,10 +81,12 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: F scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -98,6 +110,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/#301.spec.yaml b/language_examples/#301.spec.yaml index 8e2d0e50..e4d62221 100644 --- a/language_examples/#301.spec.yaml +++ b/language_examples/#301.spec.yaml @@ -27,7 +27,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method @@ -81,7 +81,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -104,7 +104,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method diff --git a/language_examples/#305.spec.yaml b/language_examples/#305.spec.yaml index e134beb4..6729813a 100644 --- a/language_examples/#305.spec.yaml +++ b/language_examples/#305.spec.yaml @@ -140,42 +140,87 @@ scopesEnd: - meta.function.definition.special.constructor - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' someMember' +- source: someMember + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' anotherOne' +- source: anotherOne + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' quiteALotOfMembers' +- source: quiteALotOfMembers + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' soManyThatTheConstructorIsLong' +- source: soManyThatTheConstructorIsLong + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' iMeanReallyLong' +- source: iMeanReallyLong + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#307.spec.yaml b/language_examples/#307.spec.yaml index 9049fb78..088373e0 100644 --- a/language_examples/#307.spec.yaml +++ b/language_examples/#307.spec.yaml @@ -96,6 +96,8 @@ - source: argOne scopes: - meta.parameter.initialization + - variable.camel-case + - variable.other.unknown.argOne - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -112,6 +114,8 @@ - source: argOther scopes: - meta.parameter.initialization + - variable.camel-case + - variable.other.unknown.argOther - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -129,14 +133,26 @@ scopesEnd: - meta.function.definition.special.constructor - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' m_one' +- source: m_one + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' m_other' +- source: m_other + scopes: + - variable.snake-case + - variable.other.unknown.m_other + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -165,7 +181,7 @@ - storage.type.modifier.access.public - source: BaseClass scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -175,13 +191,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ThisTest scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '{' scopes: @@ -317,7 +333,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ThisTest scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -368,42 +384,87 @@ - meta.function.definition.special.constructor - meta.body.function.definition.special.constructor - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' someMember' +- source: someMember + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' anotherOne' +- source: anotherOne + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' quiteALotOfMembers' +- source: quiteALotOfMembers + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' soManyThatTheConstructorIsLong' +- source: soManyThatTheConstructorIsLong + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' iMeanReallyLong' +- source: iMeanReallyLong + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#324.spec.yaml b/language_examples/#324.spec.yaml index 643fcaf7..e4eeca1d 100644 --- a/language_examples/#324.spec.yaml +++ b/language_examples/#324.spec.yaml @@ -70,6 +70,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: edited + scopes: + - variable.lower-case + - variable.other.unknown.edited - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -92,6 +95,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: ampersand + scopes: + - variable.lower-case + - variable.other.unknown.ampersand - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -112,6 +118,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: string + scopes: + - variable.lower-case + - variable.other.unknown.string - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -170,11 +179,17 @@ - source: \ scopes: - constant.character.escape.line-continuation -- source: "\t\t\t\tampersand " +- source: ampersand + scopes: + - variable.lower-case + - variable.other.unknown.ampersand - source: '=' scopes: - keyword.operator.assignment -- source: ' TRUE' +- source: 'TRUE' + scopes: + - variable.upper-case + - variable.other.unknown.TRUE - source: ; scopes: - punctuation.terminator.statement @@ -188,6 +203,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: string + scopes: + - variable.lower-case + - variable.other.unknown.string - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#341.spec.yaml b/language_examples/#341.spec.yaml index a45a1b5a..a1261561 100644 --- a/language_examples/#341.spec.yaml +++ b/language_examples/#341.spec.yaml @@ -23,7 +23,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: doThings diff --git a/language_examples/#350.spec.yaml b/language_examples/#350.spec.yaml index a36d1df2..1ef2c0f5 100644 --- a/language_examples/#350.spec.yaml +++ b/language_examples/#350.spec.yaml @@ -51,6 +51,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: x + scopes: + - variable.lower-case + - variable.other.unknown.x - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -113,6 +116,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: x + scopes: + - variable.lower-case + - variable.other.unknown.x - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -244,14 +250,32 @@ - punctuation.definition.parameters.end.preprocessor - source: DOCTEST_PRAGMA_TO_STR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: clang diagnostic ignored w + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: clang + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.clang +- source: diagnostic + scopes: + - variable.other.unknown.diagnostic +- source: ignored + scopes: + - variable.other.unknown.ignored +- source: w + scopes: + - variable.other.unknown.w + scopesEnd: + - variable.lower-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '#' scopesBegin: - keyword.control.directive.define @@ -375,7 +399,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: DOCTEST_CLANG_SUPPRESS_WARNING scopesBegin: @@ -448,7 +472,10 @@ - source: elif scopesEnd: - keyword.control.directive.elif -- source: ' DOCTEST_GCC' +- source: DOCTEST_GCC + scopes: + - variable.snake-case + - variable.other.unknown.DOCTEST_GCC - source: '#' scopesBegin: - meta.preprocessor.macro @@ -687,14 +714,33 @@ - punctuation.definition.parameters.end.preprocessor - source: DOCTEST_PRAGMA_TO_STR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: GCC diagnostic ignored w + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: GCC + scopes: + - variable.upper-case + - variable.other.unknown.GCC +- source: diagnostic + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.diagnostic +- source: ignored + scopes: + - variable.other.unknown.ignored +- source: w + scopes: + - variable.other.unknown.w + scopesEnd: + - variable.lower-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '#' scopesBegin: - keyword.control.directive.define @@ -904,7 +950,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: DOCTEST_GCC_SUPPRESS_WARNING scopesBegin: @@ -934,7 +980,10 @@ - source: elif scopesEnd: - keyword.control.directive.elif -- source: ' DOCTEST_MSVC' +- source: DOCTEST_MSVC + scopes: + - variable.snake-case + - variable.other.unknown.DOCTEST_MSVC - source: '#' scopesBegin: - meta.preprocessor.macro @@ -992,6 +1041,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: push + scopes: + - variable.lower-case + - variable.other.unknown.push - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1063,7 +1115,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'disable : w' +- source: disable + scopes: + - variable.lower-case + - variable.other.unknown.disable +- source: ' : ' +- source: w + scopes: + - variable.lower-case + - variable.other.unknown.w - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1126,6 +1186,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pop + scopes: + - variable.lower-case + - variable.other.unknown.pop - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1192,7 +1255,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: DOCTEST_MSVC_SUPPRESS_WARNING scopesBegin: diff --git a/language_examples/#353.spec.yaml b/language_examples/#353.spec.yaml index bc0e95a8..985e2ee6 100644 --- a/language_examples/#353.spec.yaml +++ b/language_examples/#353.spec.yaml @@ -54,7 +54,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#370.spec.yaml b/language_examples/#370.spec.yaml index 8dcedffe..746f1800 100644 --- a/language_examples/#370.spec.yaml +++ b/language_examples/#370.spec.yaml @@ -135,14 +135,23 @@ scopesEnd: - comment.line.double-slash - source: B + scopes: + - variable.upper-case + - variable.other.unknown.B - source: < scopes: - keyword.operator.comparison - source: A + scopes: + - variable.upper-case + - variable.other.unknown.A - source: '>' scopes: - keyword.operator.comparison -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#372.spec.yaml b/language_examples/#372.spec.yaml index e0f09b8e..9e64f7c2 100644 --- a/language_examples/#372.spec.yaml +++ b/language_examples/#372.spec.yaml @@ -36,6 +36,7 @@ - source: static scopesBegin: - meta.body.class + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -43,12 +44,20 @@ - storage.modifier.specifier.const - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' count ' +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: sizeof... scopes: - keyword.operator.functionlike @@ -59,9 +68,12 @@ - source: Args scopes: - meta.arguments.operator.sizeof.variadic + - variable.other.unknown.Args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#375.spec.yaml b/language_examples/#375.spec.yaml index dd38ce02..4a64f9f6 100644 --- a/language_examples/#375.spec.yaml +++ b/language_examples/#375.spec.yaml @@ -13,7 +13,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar diff --git a/language_examples/#386.spec.yaml b/language_examples/#386.spec.yaml index 928bf26c..c36dab3f 100644 --- a/language_examples/#386.spec.yaml +++ b/language_examples/#386.spec.yaml @@ -21,13 +21,22 @@ scopesEnd: - storage.type.modifier.access.control.private - source: double + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' elem' + - storage.modifier.pointer +- source: elem + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -40,10 +49,19 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' sz' +- source: sz + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -107,6 +125,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -129,6 +150,8 @@ - source: s scopes: - meta.parameter.initialization + - variable.lower-case + - variable.other.unknown.s - source: '}' scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -157,10 +180,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -170,11 +198,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ; scopes: - punctuation.terminator.statement @@ -182,6 +216,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -196,6 +235,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -256,7 +298,10 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' elem' +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem - source: ; scopes: - punctuation.terminator.statement @@ -279,7 +324,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -323,7 +368,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: size diff --git a/language_examples/#395.spec.yaml b/language_examples/#395.spec.yaml index 7f8d568d..821533fc 100644 --- a/language_examples/#395.spec.yaml +++ b/language_examples/#395.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: f @@ -42,7 +42,7 @@ - meta.body.namespace - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: g @@ -94,6 +94,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ; scopes: - punctuation.terminator.statement @@ -108,6 +111,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: g + scopes: + - variable.lower-case + - variable.other.unknown.g - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#396.spec.yaml b/language_examples/#396.spec.yaml index dc474bd0..0358b96a 100644 --- a/language_examples/#396.spec.yaml +++ b/language_examples/#396.spec.yaml @@ -1,27 +1,43 @@ - source: module scopes: - keyword.other.module -- source: ' example' +- source: example + scopes: + - variable.lower-case + - variable.other.unknown.example - source: ; scopes: - punctuation.terminator.statement -- source: 'import ' +- source: import + scopes: + - variable.lower-case + - variable.other.unknown.import - source: < scopes: - keyword.operator.comparison - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: '>' scopes: - keyword.operator.comparison -- source: 'import ' +- source: import + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.import - source: some scopes: - - variable.other.object.access + - variable.other.object.access.some + scopesEnd: + - variable.lower-case - source: . scopes: - punctuation.separator.dot-access - source: other scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -66,7 +82,10 @@ - source: concept scopes: - keyword.other.concept -- source: ' convertible_to ' +- source: convertible_to + scopes: + - variable.snake-case + - variable.other.unknown.convertible_to - source: '=' scopes: - keyword.operator.assignment @@ -78,14 +97,20 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_convertible_v + scopes: + - variable.other.unknown.is_convertible_v - source: < scopes: - keyword.operator.comparison - source: From + scopes: + - variable.other.unknown.From - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' To' +- source: To + scopes: + - variable.other.unknown.To - source: '>' scopes: - keyword.operator.comparison @@ -95,13 +120,14 @@ - keyword.operator.and - source: requires scopes: + - keyword.other.functionlike - keyword.other.requires - source: ( - scopesBegin: - - meta.parens scopes: - - punctuation.section.parens.begin.bracket.round + - punctuation.section.arguments.begin.bracket.round.requires - source: From + scopesBegin: + - meta.arguments.requires scopes: - entity.name.function.call - source: ( @@ -111,6 +137,9 @@ scopes: - keyword.operator.bitwise - source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -123,12 +152,11 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.arguments.requires - meta.parens - source: ) scopes: - - punctuation.section.parens.end.bracket.round - scopesEnd: - - meta.parens + - punctuation.section.arguments.end.bracket.round.requires - source: '{' scopesBegin: - meta.block @@ -142,6 +170,8 @@ scopes: - keyword.operator.comparison - source: To + scopes: + - variable.other.unknown.To - source: '>' scopes: - keyword.operator.comparison diff --git a/language_examples/#398.spec.yaml b/language_examples/#398.spec.yaml index c1f0d963..a6512d56 100644 --- a/language_examples/#398.spec.yaml +++ b/language_examples/#398.spec.yaml @@ -11,7 +11,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -22,7 +22,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -54,7 +54,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -65,7 +65,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -97,7 +97,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -108,7 +108,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -143,7 +143,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -154,7 +154,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -189,7 +189,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -200,7 +200,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -232,7 +232,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -263,7 +263,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -291,7 +291,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -319,7 +319,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#407.spec.yaml b/language_examples/#407.spec.yaml index 1b7000ec..906a5b74 100644 --- a/language_examples/#407.spec.yaml +++ b/language_examples/#407.spec.yaml @@ -57,7 +57,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -148,7 +148,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: diff --git a/language_examples/#410.spec.yaml b/language_examples/#410.spec.yaml index f4b66847..1a2d7190 100644 --- a/language_examples/#410.spec.yaml +++ b/language_examples/#410.spec.yaml @@ -81,6 +81,8 @@ - source: size scopes: - meta.parameter.initialization + - variable.lower-case + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -90,9 +92,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' container' +- source: container scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.lower-case + - variable.other.unknown.container - source: '=' scopes: - keyword.operator.assignment @@ -109,6 +114,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -155,7 +163,10 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' container' +- source: container + scopes: + - variable.lower-case + - variable.other.unknown.container - source: ; scopes: - punctuation.terminator.statement @@ -170,7 +181,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -220,10 +231,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' itr' +- source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: '=' scopes: - keyword.operator.assignment @@ -234,14 +250,23 @@ scopes: - punctuation.terminator.statement - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement @@ -249,6 +274,11 @@ scopes: - keyword.operator.increment - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -268,6 +298,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -285,10 +318,16 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -322,7 +361,7 @@ - meta.body.function.definition.special.operator-overload - source: DummyContainer scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -372,10 +411,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' itr' +- source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: '=' scopes: - keyword.operator.assignment @@ -386,14 +430,23 @@ scopes: - punctuation.terminator.statement - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement @@ -401,6 +454,11 @@ scopes: - keyword.operator.increment - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -420,6 +478,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -437,10 +498,16 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.lower-case + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -481,19 +548,39 @@ - punctuation.separator.colon.access.control scopesEnd: - storage.type.modifier.access.control.private -- source: ' T ' +- source: T + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: container + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' size' +- source: size + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#412.spec.yaml b/language_examples/#412.spec.yaml index 44059502..f95463ae 100644 --- a/language_examples/#412.spec.yaml +++ b/language_examples/#412.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -27,7 +27,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: // scopesBegin: - comment.line.double-slash @@ -67,7 +70,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -92,7 +95,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: // scopesBegin: - comment.line.double-slash @@ -107,6 +113,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: ARRAY_SIZE + scopes: + - variable.snake-case + - variable.other.unknown.ARRAY_SIZE - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#414.spec.yaml b/language_examples/#414.spec.yaml index 468506f1..625d2cf7 100644 --- a/language_examples/#414.spec.yaml +++ b/language_examples/#414.spec.yaml @@ -1,4 +1,14 @@ -- source: L_API ALenum AL_APIENTRY +- source: L_API + scopes: + - variable.snake-case + - variable.other.unknown.L_API +- source: ALenum + scopes: + - variable.other.unknown.ALenum +- source: AL_APIENTRY + scopes: + - meta.qualified-type + - entity.name.type - source: alGetError scopes: - entity.name.function.call @@ -13,12 +23,22 @@ scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: START_API_FUNC + scopes: + - variable.upper-case + - variable.other.unknown.START_API_FUNC - source: '{' scopesBegin: - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' ContextRef context' +- source: ContextRef + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -46,17 +66,23 @@ - keyword.control.if - source: UNLIKELY scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '!' scopes: - keyword.operator.logical - source: context + scopes: + - variable.lower-case + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '{' scopesBegin: - meta.block @@ -65,13 +91,23 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' ALenum deferror' +- source: ALenum + scopes: + - meta.qualified-type + - entity.name.type +- source: deferror + scopes: + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block scopes: - punctuation.section.block.begin.bracket.curly - source: AL_INVALID_OPERATION + scopes: + - variable.upper-case + - variable.other.unknown.AL_INVALID_OPERATION - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -82,10 +118,12 @@ - punctuation.terminator.statement - source: WARN scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -107,10 +145,14 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' deferror' +- source: deferror + scopes: + - variable.lower-case + - variable.other.unknown.deferror - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -123,6 +165,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: TrapALError + scopes: + - variable.other.unknown.TrapALError - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -194,6 +238,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: SIGTRAP + scopes: + - variable.upper-case + - variable.other.unknown.SIGTRAP - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -204,6 +251,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: SIGTRAP + scopes: + - variable.upper-case + - variable.other.unknown.SIGTRAP - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -226,7 +276,10 @@ - source: return scopes: - keyword.control.return -- source: ' deferror' +- source: deferror + scopes: + - variable.lower-case + - variable.other.unknown.deferror - source: ; scopes: - punctuation.terminator.statement @@ -240,12 +293,14 @@ - keyword.control.return - source: context scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.context - source: '->' scopes: - punctuation.separator.pointer-access - source: mLastError scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -257,6 +312,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: AL_NO_ERROR + scopes: + - variable.upper-case + - variable.other.unknown.AL_NO_ERROR - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -269,3 +327,6 @@ scopesEnd: - meta.block - source: END_API_FUNC + scopes: + - variable.upper-case + - variable.other.unknown.END_API_FUNC diff --git a/language_examples/#426.spec.yaml b/language_examples/#426.spec.yaml index 84051bc2..6346ef9b 100644 --- a/language_examples/#426.spec.yaml +++ b/language_examples/#426.spec.yaml @@ -5,6 +5,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: msg3 + scopes: + - variable.lower-case + - variable.other.unknown.msg3 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -142,7 +145,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tmp_line2' +- source: tmp_line2 + scopes: + - variable.snake-case + - variable.other.unknown.tmp_line2 - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#427.spec.yaml b/language_examples/#427.spec.yaml index 4baa00b0..ec2d607a 100644 --- a/language_examples/#427.spec.yaml +++ b/language_examples/#427.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fun1 diff --git a/language_examples/#432.spec.yaml b/language_examples/#432.spec.yaml index 8f99be7b..e7fc95ab 100644 --- a/language_examples/#432.spec.yaml +++ b/language_examples/#432.spec.yaml @@ -30,9 +30,20 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' T t' +- source: T scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: t + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#433.spec.yaml b/language_examples/#433.spec.yaml index 180681f2..a1a20d76 100644 --- a/language_examples/#433.spec.yaml +++ b/language_examples/#433.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -52,7 +52,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -146,7 +146,8 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: prevTile scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.prevTile - source: . scopes: - punctuation.separator.dot-access @@ -193,7 +194,8 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: prevTile scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.prevTile - source: . scopes: - punctuation.separator.dot-access @@ -241,6 +243,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: curpal0 + scopes: + - variable.lower-case + - variable.other.unknown.curpal0 - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner @@ -267,6 +272,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: curpal1 + scopes: + - variable.lower-case + - variable.other.unknown.curpal1 - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner @@ -407,16 +415,28 @@ scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' test ' +- source: test + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -462,7 +482,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#438.spec.yaml b/language_examples/#438.spec.yaml index 5f1ac4ea..75a22323 100644 --- a/language_examples/#438.spec.yaml +++ b/language_examples/#438.spec.yaml @@ -54,7 +54,7 @@ - storage.type.modifier.access.public - source: Example scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -77,7 +77,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '{' scopes: @@ -115,7 +115,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -137,16 +137,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x ' +- source: x + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '52' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -212,7 +223,7 @@ - storage.type.modifier.access.public - source: Example scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -235,7 +246,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '{' scopes: @@ -273,7 +284,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -295,16 +306,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x ' +- source: x + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '52' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#442.spec.yaml b/language_examples/#442.spec.yaml index 5c45fbc3..95cb339f 100644 --- a/language_examples/#442.spec.yaml +++ b/language_examples/#442.spec.yaml @@ -269,7 +269,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -280,7 +280,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -304,6 +304,9 @@ - source: REPROCXX_EXPORT scopesBegin: - meta.body.namespace + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern @@ -314,11 +317,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' kill' +- source: kill + scopes: + - variable.lower-case + - variable.other.unknown.kill - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern @@ -329,7 +338,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' terminate' +- source: terminate + scopes: + - variable.lower-case + - variable.other.unknown.terminate - source: ; scopes: - punctuation.terminator.statement @@ -364,7 +376,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -402,13 +414,13 @@ - punctuation.separator.scope-resolution.template.call - source: milli scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -416,35 +428,71 @@ scopesEnd: - meta.declaration.type.alias - source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern - source: const scopes: - storage.modifier.specifier.const -- source: ' milliseconds infinite' +- source: milliseconds + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.milliseconds +- source: infinite + scopes: + - variable.other.unknown.infinite + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern - source: const scopes: - storage.modifier.specifier.const -- source: ' milliseconds deadline' +- source: milliseconds + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.milliseconds +- source: deadline + scopes: + - variable.other.unknown.deadline + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern - source: const scopes: - storage.modifier.specifier.const -- source: ' milliseconds nonblocking' +- source: milliseconds + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.milliseconds +- source: nonblocking + scopes: + - variable.other.unknown.nonblocking + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement @@ -558,13 +606,36 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' stop action' +- source: stop scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: action + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' milliseconds timeout' +- source: milliseconds + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: timeout + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -587,17 +658,52 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' stop_action first' +- source: stop_action scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: first + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stop_action second' +- source: stop_action + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: second + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stop_action third' +- source: stop_action + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: third + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -634,34 +740,55 @@ scopesEnd: - comment.block.documentation - source: class + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - - storage.type.class.declare + - storage.type.class - source: environment scopes: - - entity.name.type.class + - entity.name.type + scopesEnd: + - meta.qualified-type - source: environment scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'working_directory ' + - storage.modifier.pointer +- source: working_directory + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: nullptr scopes: - constant.language.nullptr + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -676,17 +803,52 @@ - punctuation.section.block.begin.bracket.curly.struct scopesEnd: - meta.head.struct -- source: ' redirect in' +- source: redirect scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: in + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' redirect out' +- source: redirect + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: out + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' redirect err' +- source: redirect + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: err + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -695,9 +857,12 @@ - punctuation.section.block.end.bracket.curly.struct scopesEnd: - meta.body.struct -- source: 'redirect ' +- source: redirect scopesBegin: - meta.tail.struct + scopes: + - variable.lower-case + - variable.other.unknown.redirect - source: '=' scopes: - keyword.operator.assignment @@ -718,17 +883,27 @@ scopesEnd: - meta.block.struct - source: struct + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - - storage.type.struct.declare + - storage.type.struct - source: stop_actions scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified-type - source: stop + scopesBegin: + - meta.assignment scopes: - - variable.other.object.declare + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -738,21 +913,37 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: - punctuation.terminator.statement - source: reproc + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'milliseconds timeout ' +- source: milliseconds + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: timeout + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reproc scopes: - entity.name.scope-resolution @@ -772,20 +963,37 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: reproc + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'milliseconds deadline ' +- source: milliseconds + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: deadline + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reproc scopes: - entity.name.scope-resolution @@ -805,34 +1013,60 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' inherit ' +- source: inherit + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' discard ' +- source: discard + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -849,14 +1083,23 @@ scopesEnd: - comment.block.documentation - source: class + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - - storage.type.class.declare + - storage.type.class - source: input scopes: - - entity.name.type.class + - entity.name.type + scopesEnd: + - meta.qualified-type - source: input scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -955,7 +1198,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: process scopesBegin: @@ -974,7 +1217,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT ' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: '~' scopes: - keyword.operator.bitwise @@ -1005,7 +1251,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: process scopesBegin: @@ -1045,12 +1291,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: process scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -1109,8 +1358,13 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std + scopesBegin: + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1118,6 +1372,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type - source: start scopes: - entity.name.function.call @@ -1127,22 +1385,34 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' arguments ' +- source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: '&' scopes: - keyword.operator.bitwise - source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: ',' scopes: - punctuation.separator.delimiter.comma - source: const scopes: - storage.modifier.specifier.const -- source: ' options ' +- source: options + scopes: + - variable.lower-case + - variable.other.unknown.options - source: '&' scopes: - keyword.operator.bitwise -- source: 'options ' +- source: options + scopes: + - variable.lower-case + - variable.other.unknown.options - source: '=' scopes: - keyword.operator.assignment @@ -1168,7 +1438,10 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1177,6 +1450,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1195,6 +1471,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.snake-case + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1253,8 +1532,13 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std + scopesBegin: + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1262,31 +1546,53 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: stream + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: error_code + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call - source: poll scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: stream set +- source: stream + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.stream +- source: set + scopes: + - variable.other.unknown.set + scopesEnd: + - variable.lower-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1304,7 +1610,10 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1313,6 +1622,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1331,6 +1643,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.snake-case + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1402,7 +1717,10 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1411,6 +1729,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1429,6 +1750,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.snake-case + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1483,8 +1807,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std + scopesBegin: + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1492,13 +1821,24 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type - source: close scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: stream stream +- source: stream + scopesBegin: + - variable.lower-case + - variable.other.unknown.stream +- source: stream + scopesEnd: + - variable.lower-case + - variable.other.unknown.stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1519,7 +1859,10 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1528,6 +1871,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1546,6 +1892,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.snake-case + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1583,8 +1932,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std + scopesBegin: + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1592,6 +1946,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type - source: terminate scopes: - entity.name.function.call @@ -1607,8 +1965,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std + scopesBegin: + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1616,6 +1979,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type - source: kill scopes: - entity.name.function.call @@ -1642,7 +2009,10 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.snake-case + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1651,6 +2021,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.lower-case + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1669,6 +2042,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.snake-case + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1715,6 +2091,9 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1722,51 +2101,50 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: unique_ptr + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: reproc_t scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: void scopes: - - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ( - scopes: - - punctuation.section.parens.begin.bracket.round.function.pointer +- source: ' (' - source: '*' scopes: - - punctuation.definition.function.pointer.dereference -- source: ) - scopes: - - punctuation.section.parens.end.bracket.round.function.pointer -- source: ( - scopes: - - punctuation.section.parameters.begin.bracket.round.function.pointer + - keyword.operator.arithmetic +- source: )( - source: reproc_t - scopesBegin: - - meta.parameter scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved - source: '*' scopes: - - storage.modifier.pointer - scopesEnd: - - meta.parameter + - keyword.operator.arithmetic - source: ) - scopes: - - punctuation.section.parameters.end.bracket.round.function.pointer - source: '>' scopes: - - keyword.operator.comparison -- source: ' process_' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: process_ + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1925,9 +2303,20 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' process process' +- source: process scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: process + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#443.spec.yaml b/language_examples/#443.spec.yaml index d5e55bf2..fa812aba 100644 --- a/language_examples/#443.spec.yaml +++ b/language_examples/#443.spec.yaml @@ -23,7 +23,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -31,7 +34,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement @@ -39,7 +45,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' str ' +- source: str + scopes: + - variable.lower-case + - variable.other.unknown.str - source: '=' scopes: - keyword.operator.assignment @@ -84,7 +93,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' c' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: ; scopes: - punctuation.terminator.statement @@ -92,7 +104,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' d' +- source: d + scopes: + - variable.lower-case + - variable.other.unknown.d - source: ; scopes: - punctuation.terminator.statement @@ -100,7 +115,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' ch ' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: '=' scopes: - keyword.operator.assignment @@ -122,7 +140,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' e' +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e - source: ; scopes: - punctuation.terminator.statement @@ -130,7 +151,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' f' +- source: f + scopes: + - variable.lower-case + - variable.other.unknown.f - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#460.spec.yaml b/language_examples/#460.spec.yaml index e8425d23..fae6af9b 100644 --- a/language_examples/#460.spec.yaml +++ b/language_examples/#460.spec.yaml @@ -29,7 +29,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -46,7 +46,7 @@ - punctuation.separator.scope-resolution.template.call - source: xml_node scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -60,7 +60,7 @@ - punctuation.separator.scope-resolution.template.call - source: map scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -77,7 +77,7 @@ - punctuation.separator.scope-resolution.template.call - source: basic_string scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -93,7 +93,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -107,7 +107,7 @@ - punctuation.separator.scope-resolution.template.call - source: xml_node scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -121,7 +121,7 @@ - punctuation.separator.scope-resolution.template.call - source: less scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -138,7 +138,7 @@ - punctuation.separator.scope-resolution.template.call - source: basic_string scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -154,13 +154,13 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -174,7 +174,7 @@ - punctuation.separator.scope-resolution.template.call - source: allocator scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -191,7 +191,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -211,7 +211,7 @@ - punctuation.separator.scope-resolution.template.call - source: basic_string scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -227,7 +227,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -241,31 +241,31 @@ - punctuation.separator.scope-resolution.template.call - source: xml_node scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: @@ -277,4 +277,11 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: type dnode +- source: type + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.type +- source: dnode + scopes: + - variable.other.unknown.dnode diff --git a/language_examples/#462.spec.yaml b/language_examples/#462.spec.yaml index b5b16dba..66cd1a05 100644 --- a/language_examples/#462.spec.yaml +++ b/language_examples/#462.spec.yaml @@ -1,9 +1,11 @@ - source: DEFINE_SOMETHING scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ( scopesBegin: - meta.parens @@ -17,6 +19,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#489.spec.yaml b/language_examples/#489.spec.yaml index c3c21b9f..73a263e0 100644 --- a/language_examples/#489.spec.yaml +++ b/language_examples/#489.spec.yaml @@ -72,7 +72,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -146,7 +146,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -221,7 +221,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -296,7 +296,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -368,7 +368,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#501.spec.yaml b/language_examples/#501.spec.yaml index 52010467..1f62be58 100644 --- a/language_examples/#501.spec.yaml +++ b/language_examples/#501.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -24,13 +24,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '''' scopesBegin: - string.quoted.single @@ -43,11 +52,15 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.single - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -71,6 +84,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -96,13 +112,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' b ' +- source: b + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -119,11 +145,15 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -147,6 +177,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -172,13 +205,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -192,11 +235,15 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -220,6 +267,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -245,13 +295,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -265,18 +325,29 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -290,6 +361,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: diff --git a/language_examples/#511.spec.yaml b/language_examples/#511.spec.yaml index 55096395..74140e71 100644 --- a/language_examples/#511.spec.yaml +++ b/language_examples/#511.spec.yaml @@ -19,7 +19,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test diff --git a/language_examples/#530.spec.yaml b/language_examples/#530.spec.yaml index e6996889..00d63ed5 100644 --- a/language_examples/#530.spec.yaml +++ b/language_examples/#530.spec.yaml @@ -14,27 +14,30 @@ - source: int scopesBegin: - meta.body.struct + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x ' +- source: x + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - punctuation.definition.string.begin scopes: @@ -47,46 +50,65 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' y ' +- source: 'y' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '100' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' z ' + - storage.modifier.pointer +- source: z + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -97,6 +119,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -123,27 +146,30 @@ - source: int scopesBegin: - meta.body.struct + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x1 ' +- source: x1 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - punctuation.definition.string.begin scopes: @@ -156,40 +182,41 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x2 ' +- source: x2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - punctuation.definition.string.begin scopes: @@ -202,43 +229,45 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x3 ' +- source: x3 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: g - scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter scopes: - - entity.name.type.parameter + - entity.name.function.call - source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - string.quoted.double.raw @@ -253,47 +282,67 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) - scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' y ' +- source: 'y' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '100' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' z ' + - storage.modifier.pointer +- source: z + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -304,6 +353,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: diff --git a/language_examples/#569.cpp b/language_examples/#569.cpp new file mode 100644 index 00000000..ed0cca4d --- /dev/null +++ b/language_examples/#569.cpp @@ -0,0 +1,9 @@ + + +int func1(int); // highlighted correctly + +#ifdef FOO +[[ +#endif + +int func2(int); // not highlighted \ No newline at end of file diff --git a/language_examples/#569.spec.yaml b/language_examples/#569.spec.yaml new file mode 100644 index 00000000..fc02174e --- /dev/null +++ b/language_examples/#569.spec.yaml @@ -0,0 +1,79 @@ +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: func1 + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: int + scopes: + - meta.function.definition.parameters + - meta.parameter + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' highlighted correctly' + scopesEnd: + - comment.line.double-slash +- source: '#' + scopesBegin: + - keyword.control.directive.conditional.ifdef + scopes: + - punctuation.definition.directive +- source: ifdef + scopesEnd: + - keyword.control.directive.conditional.ifdef +- source: FOO + scopes: + - meta.preprocessor.conditional + - entity.name.function.preprocessor +- source: '[[' + scopesBegin: + - support.other.attribute + scopes: + - punctuation.section.attribute.begin +- source: '#' + scopesBegin: + - keyword.control.directive.endif + scopes: + - punctuation.definition.directive +- source: endif + scopesEnd: + - keyword.control.directive.endif +- source: int + scopes: + - entity.other.attribute.int +- source: func2 + scopes: + - entity.other.attribute.func2 +- source: ( +- source: int +- source: ) +- source: ; +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' not highlighted' diff --git a/language_examples/#590.spec.yaml b/language_examples/#590.spec.yaml index 93314f0f..6d551b19 100644 --- a/language_examples/#590.spec.yaml +++ b/language_examples/#590.spec.yaml @@ -80,7 +80,7 @@ - storage.type.modifier.access.public - source: base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: \ scopes: @@ -99,7 +99,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: f @@ -142,7 +142,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -166,7 +166,19 @@ - meta.body.function.definition scopes: - constant.character.escape.line-continuation -- source: ' der v' +- source: der + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: v + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -175,7 +187,8 @@ - constant.character.escape.line-continuation - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -205,22 +218,34 @@ - constant.character.escape.line-continuation - source: DOCTEST_REGISTER_FUNCTION scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: DOCTEST_EMPTY + scopes: + - variable.snake-case + - variable.other.unknown.DOCTEST_EMPTY - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' func' +- source: func + scopes: + - variable.lower-case + - variable.other.unknown.func - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' decorators' +- source: decorators + scopes: + - variable.lower-case + - variable.other.unknown.decorators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: \ scopes: - constant.character.escape.line-continuation @@ -236,7 +261,10 @@ - source: inline scopes: - storage.modifier.specifier.functional.pre-parameters.inline -- source: ' DOCTEST_NOINLINE' +- source: DOCTEST_NOINLINE + scopes: + - variable.snake-case + - variable.other.unknown.DOCTEST_NOINLINE - source: void scopes: - storage.type.primitive diff --git a/language_examples/#604.spec.yaml b/language_examples/#604.spec.yaml index 64c2f51d..0b69e188 100644 --- a/language_examples/#604.spec.yaml +++ b/language_examples/#604.spec.yaml @@ -2,7 +2,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' compare ' +- source: compare + scopes: + - variable.lower-case + - variable.other.unknown.compare - source: '=' scopes: - keyword.operator.assignment @@ -90,7 +93,8 @@ - keyword.control.return - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access @@ -102,7 +106,8 @@ - keyword.operator.comparison - source: b scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.b - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/#610.spec.yaml b/language_examples/#610.spec.yaml index cfe065b2..244a6282 100644 --- a/language_examples/#610.spec.yaml +++ b/language_examples/#610.spec.yaml @@ -103,7 +103,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' view ' +- source: view + scopes: + - variable.lower-case + - variable.other.unknown.view - source: '=' scopes: - keyword.operator.assignment @@ -131,7 +134,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' owned ' +- source: owned + scopes: + - variable.lower-case + - variable.other.unknown.owned - source: '=' scopes: - keyword.operator.assignment @@ -184,9 +190,20 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' T content' +- source: T scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -206,7 +223,7 @@ - source: Wrapper scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -223,13 +240,13 @@ - punctuation.separator.scope-resolution.template.call - source: wstring scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -307,10 +324,16 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -338,7 +361,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' wide_string ' +- source: wide_string + scopes: + - variable.snake-case + - variable.other.unknown.wide_string - source: '=' scopes: - keyword.operator.assignment @@ -370,28 +396,30 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' raw_wide_string ' +- source: raw_wide_string + scopes: + - variable.other.unknown.raw_wide_string - source: '=' scopes: - keyword.operator.assignment - source: LR scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.-- + - punctuation.definition.string.--.begin scopes: - meta.encoding - source: '"--(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.--.begin - source: rws - source: )--" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.--.end - source: _wrap scopes: - keyword.other.suffix.literal.user-defined.string scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.-- - source: ; scopes: - punctuation.terminator.statement @@ -401,7 +429,7 @@ - source: Wrapper scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -417,7 +445,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -467,6 +495,9 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -489,7 +520,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' character ' +- source: character + scopes: + - variable.lower-case + - variable.other.unknown.character - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#613.spec.yaml b/language_examples/#613.spec.yaml index 3992ccb0..173e4ece 100644 --- a/language_examples/#613.spec.yaml +++ b/language_examples/#613.spec.yaml @@ -33,7 +33,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: setPosition diff --git a/language_examples/#617.spec.yaml b/language_examples/#617.spec.yaml index 4f64ea4b..c42ccf3d 100644 --- a/language_examples/#617.spec.yaml +++ b/language_examples/#617.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -24,14 +24,26 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' b ' + scopesEnd: + - meta.assignment +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: < scopes: - keyword.operator.comparison @@ -54,11 +66,15 @@ - punctuation.definition.comment.end scopesEnd: - comment.block -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: diff --git a/language_examples/#621.cpp b/language_examples/#621.cpp new file mode 100644 index 00000000..3981c4ca --- /dev/null +++ b/language_examples/#621.cpp @@ -0,0 +1,6 @@ +static const std::string led_paths[] { + [RED] = LED_PATH("red"), + [GREEN] = LED_PATH("green"), + [BLUE] = LED_PATH("blue"), + [WHITE] = LED_PATH("white"), +}; \ No newline at end of file diff --git a/language_examples/#621.spec.yaml b/language_examples/#621.spec.yaml new file mode 100644 index 00000000..24c2c6b6 --- /dev/null +++ b/language_examples/#621.spec.yaml @@ -0,0 +1,207 @@ +- source: static + scopes: + - storage.modifier.specifier.static +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - variable.lower-case + - variable.other.unknown.string +- source: led_paths + scopes: + - variable.snake-case + - variable.other.unknown.led_paths +- source: '[] ' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: RED + scopes: + - variable.upper-case + - variable.other.unknown.RED +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: red +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: GREEN + scopes: + - variable.upper-case + - variable.other.unknown.GREEN +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: green +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: BLUE + scopes: + - variable.upper-case + - variable.other.unknown.BLUE +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: blue +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: WHITE + scopes: + - variable.upper-case + - variable.other.unknown.WHITE +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: white +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement diff --git a/language_examples/#636.cpp b/language_examples/#636.cpp new file mode 100644 index 00000000..f89c9a58 --- /dev/null +++ b/language_examples/#636.cpp @@ -0,0 +1,28 @@ +#include "MyAwesomeDatabaseLibrary.h" +#include +#include + +int main(int argc, char** argv) +{ + std::string plate = argv[1]; + + AwesomeDBConnection conn; + + conn.Open("myconnectionstring"); + + auto query = conn.Execute(R"sql( + + SELECT uid, part_name, install_date FROM CarParts + WHERE plate = ')sql" + plate + "' ORDER BY install_date"); + + for (const auto& entry : query) + { + std::cout << entry["uid"] << ": "; + std::cout << entry["part_name"] << ", "; + std::cout << entry["install_date"] << std::endl; + } + + conn.Close(); + + return 0; +} \ No newline at end of file diff --git a/language_examples/#636.spec.yaml b/language_examples/#636.spec.yaml new file mode 100644 index 00000000..db599edc --- /dev/null +++ b/language_examples/#636.spec.yaml @@ -0,0 +1,524 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: MyAwesomeDatabaseLibrary.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: string +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: int + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: argc + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: argv + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: plate + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: argv + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: AwesomeDBConnection + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: conn + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: conn + scopes: + - variable.lower-case + - variable.other.object.access.conn +- source: . + scopes: + - punctuation.separator.dot-access +- source: Open + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: myconnectionstring +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: query + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: conn + scopes: + - variable.lower-case + - variable.other.object.access.conn +- source: . + scopes: + - punctuation.separator.dot-access +- source: Execute + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: R + scopesBegin: + - string.quoted.double.raw.sql + - punctuation.definition.string.sql.begin + scopes: + - meta.encoding +- source: '"sql(' + scopesEnd: + - punctuation.definition.string.sql.begin +- source: ' SELECT uid, part_name, install_date FROM CarParts' +- source: ' WHERE plate = ''' +- source: )sql" + scopes: + - punctuation.definition.string.sql.end + scopesEnd: + - string.quoted.double.raw.sql +- source: + + scopes: + - keyword.operator.arithmetic +- source: plate + scopes: + - variable.lower-case + - variable.other.unknown.plate +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ''' ORDER BY install_date' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: const + scopesBegin: + - meta.parens.control.for + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: entry + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: query + scopes: + - variable.lower-case + - variable.other.unknown.query + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: entry + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: uid +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ': ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: entry + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: part_name +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ', ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: entry + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: install_date +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: conn + scopes: + - variable.lower-case + - variable.other.object.access.conn +- source: . + scopes: + - punctuation.separator.dot-access +- source: Close + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#641.cpp b/language_examples/#641.cpp new file mode 100644 index 00000000..b59fe3fa --- /dev/null +++ b/language_examples/#641.cpp @@ -0,0 +1,11 @@ +#include + +int main(int argc, const char ** argv) +{ + #ifdef _WIN32 + std::cout << "Hello World Windows" << std::endl; + #elifdef __linux__ + std::cout << "Hello World Linux" << std::endl; + #endif + return 0; +} \ No newline at end of file diff --git a/language_examples/#641.spec.yaml b/language_examples/#641.spec.yaml new file mode 100644 index 00000000..d019eb83 --- /dev/null +++ b/language_examples/#641.spec.yaml @@ -0,0 +1,204 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: int + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: argc + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: argv + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: '#' + scopesBegin: + - meta.body.function.definition + - keyword.control.directive.conditional.ifdef + scopes: + - punctuation.definition.directive +- source: ifdef + scopesEnd: + - keyword.control.directive.conditional.ifdef +- source: _WIN32 + scopes: + - meta.preprocessor.conditional + - entity.name.other.preprocessor.macro.predefined._WIN32 +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Hello World Windows +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.elifdef + scopes: + - punctuation.definition.directive +- source: elifdef + scopesEnd: + - keyword.control.directive.elifdef +- source: __linux__ + scopes: + - variable.other.unknown.__linux__ +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Hello World Linux +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.endif + scopes: + - punctuation.definition.directive +- source: endif + scopesEnd: + - keyword.control.directive.endif +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#647.cpp b/language_examples/#647.cpp new file mode 100644 index 00000000..93f65753 --- /dev/null +++ b/language_examples/#647.cpp @@ -0,0 +1,5 @@ +using some_space::operator<<; + +int main() { + std::cout << operator<<(std::cout, "Hello, world!"); +} \ No newline at end of file diff --git a/language_examples/#647.spec.yaml b/language_examples/#647.spec.yaml new file mode 100644 index 00000000..959d36e9 --- /dev/null +++ b/language_examples/#647.spec.yaml @@ -0,0 +1,113 @@ +- source: using + scopes: + - keyword.other.using.directive +- source: some_space + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - entity.name.scope-resolution.operator +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.operator +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '<<' + scopes: + - entity.name.operator + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.head.function.definition.special.operator-overload +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: operator + scopes: + - variable.lower-case + - variable.other.unknown.operator +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Hello, world!' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#651.cpp b/language_examples/#651.cpp new file mode 100644 index 00000000..d1ef01cb --- /dev/null +++ b/language_examples/#651.cpp @@ -0,0 +1,8 @@ +int main() +{ + constexpr std::size_t highlight{}; + const ::std::size_t highlight2{}; + ::std::size_t const highlight3{}; + ::std::size_t constexpr highlight4{}; + constexpr ::std::size_t no_highlight{}; +} \ No newline at end of file diff --git a/language_examples/#651.spec.yaml b/language_examples/#651.spec.yaml new file mode 100644 index 00000000..9f78a3e0 --- /dev/null +++ b/language_examples/#651.spec.yaml @@ -0,0 +1,205 @@ +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: constexpr + scopesBegin: + - meta.body.function.definition + scopes: + - storage.modifier.specifier.functional.pre-parameters.constexpr +- source: std + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: size_t + scopes: + - storage.type + - storage.type.built-in + scopesEnd: + - meta.qualified-type +- source: highlight + scopes: + - variable.lower-case + - variable.other.object.construction +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: '::' + scopesBegin: + - meta.qualified-type + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: size_t + scopes: + - storage.type + - storage.type.built-in + scopesEnd: + - meta.qualified-type +- source: highlight2 + scopes: + - variable.lower-case + - variable.other.object.construction +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: '::' +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: size_t + scopes: + - storage.type + - storage.type.built-in +- source: const + scopes: + - storage.modifier.specifier.const +- source: highlight3 + scopes: + - variable.lower-case + - variable.other.unknown.highlight3 +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: '::' +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: size_t + scopes: + - storage.type + - storage.type.built-in +- source: constexpr + scopes: + - storage.modifier.specifier.functional.pre-parameters.constexpr +- source: highlight4 + scopes: + - variable.lower-case + - variable.other.unknown.highlight4 +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: constexpr + scopes: + - storage.modifier.specifier.functional.pre-parameters.constexpr +- source: '::' + scopesBegin: + - meta.qualified-type + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: size_t + scopes: + - storage.type + - storage.type.built-in + scopesEnd: + - meta.qualified-type +- source: no_highlight + scopes: + - variable.snake-case + - variable.other.object.construction +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#652.cpp b/language_examples/#652.cpp new file mode 100644 index 00000000..6e43d582 --- /dev/null +++ b/language_examples/#652.cpp @@ -0,0 +1,12 @@ +struct foo +{ + void (*bar1)() noexcept; + void (*bar2)() noexcept; + void (*bar3)() noexcept; +}; + +void baz() +{ + static_assert(false, "some string"); + int x = 0; +} \ No newline at end of file diff --git a/language_examples/#652.spec.yaml b/language_examples/#652.spec.yaml new file mode 100644 index 00000000..a4b3319f --- /dev/null +++ b/language_examples/#652.spec.yaml @@ -0,0 +1,198 @@ +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: foo + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: void + scopesBegin: + - meta.body.struct + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: bar1 + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer +- source: noexcept + scopes: + - storage.modifier.specifier.functional.post-parameters.noexcept +- source: ; + scopes: + - punctuation.terminator.statement +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: bar2 + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer +- source: noexcept + scopes: + - storage.modifier.specifier.functional.post-parameters.noexcept +- source: ; + scopes: + - punctuation.terminator.statement +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: bar3 + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer +- source: noexcept + scopes: + - storage.modifier.specifier.functional.post-parameters.noexcept +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: baz + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: static_assert + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.other.static-assert +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.static-assert +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopesBegin: + - meta.static-assert.message + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: some string +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.static-assert.message + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.static-assert +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: x + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#654.cpp b/language_examples/#654.cpp new file mode 100644 index 00000000..5bbf2fa7 --- /dev/null +++ b/language_examples/#654.cpp @@ -0,0 +1,26 @@ +#include + +std::vector test(1 << 22); + +int main() { + for (int i = 0; i < (1 << 22); i++) { + test[i] = i; + } + while (true) { + switch (test[0] % 4) { + case 0: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + case 1: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + case 2: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + case 3: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + } + } + return 0; +} \ No newline at end of file diff --git a/language_examples/#654.spec.yaml b/language_examples/#654.spec.yaml new file mode 100644 index 00000000..c338aa88 --- /dev/null +++ b/language_examples/#654.spec.yaml @@ -0,0 +1,601 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: vector +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: std + scopesBegin: + - meta.function.definition + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: uint64_t + scopes: + - storage.type + - storage.type.built-in +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: test + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '1' + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - constant.numeric.decimal +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '22' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: for + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: int + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '1' + scopes: + - constant.numeric.decimal +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '22' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '%' + scopes: + - keyword.operator.arithmetic +- source: '4' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: '0' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: '1' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: '2' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: '3' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#656.cpp b/language_examples/#656.cpp new file mode 100644 index 00000000..aab65abb --- /dev/null +++ b/language_examples/#656.cpp @@ -0,0 +1,6 @@ +static QAccessibleInterface *factory(const QString &classname, QObject *object) { + if (classname == QLatin1String("VBase") && object && object->isWidgetType()) + return new Base(static_cast(object)); + + return 0; +} \ No newline at end of file diff --git a/language_examples/#656.spec.yaml b/language_examples/#656.spec.yaml new file mode 100644 index 00000000..963fc1b2 --- /dev/null +++ b/language_examples/#656.spec.yaml @@ -0,0 +1,187 @@ +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: QAccessibleInterface + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: factory + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: const + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: QString + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: classname + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: QObject + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: object + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: if + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: classname + scopes: + - variable.lower-case + - variable.other.unknown.classname +- source: '==' + scopes: + - keyword.operator.comparison +- source: QLatin1String + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: VBase +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '&&' + scopes: + - keyword.operator.logical +- source: object + scopes: + - variable.lower-case + - variable.other.unknown.object +- source: '&&' + scopes: + - keyword.operator.logical +- source: object + scopes: + - variable.lower-case + - variable.other.object.access.object +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isWidgetType + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: new + scopes: + - keyword.operator.wordlike + - keyword.operator.new +- source: Base + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: static_cast + scopes: + - keyword.operator.wordlike + - keyword.operator.cast.static_cast +- source: < + scopes: + - keyword.operator.comparison +- source: QWidget + scopes: + - variable.other.unknown.QWidget +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>' + scopes: + - keyword.operator.comparison +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: object + scopes: + - variable.lower-case + - variable.other.unknown.object +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#vs-73292.spec.yaml b/language_examples/#vs-73292.spec.yaml index a4091914..2963ecb0 100644 --- a/language_examples/#vs-73292.spec.yaml +++ b/language_examples/#vs-73292.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -24,16 +24,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' test_enum ' +- source: test_enum + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#vs-76430.spec.yaml b/language_examples/#vs-76430.spec.yaml index ec60cd0b..33cd0aff 100644 --- a/language_examples/#vs-76430.spec.yaml +++ b/language_examples/#vs-76430.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -36,7 +36,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -50,6 +53,8 @@ - source: T scopes: - meta.arguments.operator.typeid + - variable.upper-case + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -81,7 +86,10 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' valueT ' +- source: valueT + scopes: + - variable.camel-case + - variable.other.unknown.valueT - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -93,6 +101,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -138,7 +149,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -172,7 +183,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -186,6 +200,8 @@ - source: T scopes: - meta.arguments.operator.typeid + - variable.upper-case + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -217,7 +233,10 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' valueT ' +- source: valueT + scopes: + - variable.camel-case + - variable.other.unknown.valueT - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -229,6 +248,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#vs-cpp-3703.spec.yaml b/language_examples/#vs-cpp-3703.spec.yaml index 4ebee048..09c3cad3 100644 --- a/language_examples/#vs-cpp-3703.spec.yaml +++ b/language_examples/#vs-cpp-3703.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/638.cpp b/language_examples/638.cpp new file mode 100644 index 00000000..282a97cc --- /dev/null +++ b/language_examples/638.cpp @@ -0,0 +1,16 @@ +template +struct S{ + int foo() requires(n == 2) + { + return 2; + } + + + int foo() requires(n < 2) + { + return 2; + } + +private: + int b; +}; \ No newline at end of file diff --git a/language_examples/638.spec.yaml b/language_examples/638.spec.yaml new file mode 100644 index 00000000..738a7e25 --- /dev/null +++ b/language_examples/638.spec.yaml @@ -0,0 +1,191 @@ +- source: template + scopes: + - storage.type.template +- source: < + scopes: + - punctuation.section.angle-brackets.begin.template.definition +- source: int + scopesBegin: + - meta.template.definition + scopes: + - storage.type.template.argument.int +- source: 'n' + scopes: + - entity.name.type.template + scopesEnd: + - meta.template.definition +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.definition +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: S + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: int + scopesBegin: + - meta.body.struct + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: foo + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: requires + scopes: + - keyword.other.functionlike + - keyword.other.requires +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.requires +- source: 'n' + scopesBegin: + - meta.arguments.requires + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '==' + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.arguments.requires +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.requires +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: '2' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: int + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: foo + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: requires + scopes: + - keyword.other.functionlike + - keyword.other.requires +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.requires +- source: 'n' + scopesBegin: + - meta.arguments.requires + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.arguments.requires +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.requires +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: '2' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: private + scopesBegin: + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: int + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: b + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement diff --git a/language_examples/constructor_call.cpp b/language_examples/constructor_call.cpp new file mode 100644 index 00000000..7aad3c8b --- /dev/null +++ b/language_examples/constructor_call.cpp @@ -0,0 +1,114 @@ +#include +#include +#include + +#include "Stress_ball.h" +#include "Collection.h" + +void test_stress_balls() +{ + A; + srand(time(0)); + + // open input files + ifstream input_file1("stress_ball1.data"); + if (!input_file1) { + cout << ">>> Cannot open the file: stress_ball1.data\n"; + exit(1); + } + ifstream input_file2("stress_ball2.data"); + if (!input_file2) { + cout << ">>> Cannot open the file: stress_ball2.data\n"; + exit(1); + } + + // Making collections + CollectionSB c1; + input_file1 >> c1; + + CollectionSB c2; + input_file2 >> c2; + + // optional: + //CollectionSB c1(5); + //CollectionSB c2(10); + + //print collections + cout << endl << "CollectionSB 1:\n"; + c1.print_items(); + cout << endl << "CollectionSB 2:\n"; + c2.print_items(); + cout << endl; + + CollectionSB c3 = make_union(c1, c2); + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; + + cout << "total no. of stress balls = " + << c3.total_items() << endl; + cout << "total no. of small stress balls = " + << c3.total_items(Stress_ball_sizes::small) << endl; + cout << "total no. of medium stress balls = " + << c3.total_items(Stress_ball_sizes::medium) << endl; + cout << "total no. of large stress balls = " + << c3.total_items(Stress_ball_sizes::large) << endl; + cout << "total no. of red stress balls = " + << c3.total_items(Stress_ball_colors::red) << endl; + + Stress_ball sb(Stress_ball_colors::green, Stress_ball_sizes::small); + if (c3.contains(sb)) + cout << "CollectionSB 3 contains (green, small) stress ball\n"; + else + cout << "CollectionSB 3 does not contain (green, small) stress ball\n"; + + cout << "\nRemove all (green, small) stress ball\n"; + while (c3.contains(sb)) + c3.remove_this_item(sb); + cout << "total no. of stress balls = " + << c3.total_items() << endl; + + if (c3.contains(sb)) + cout << "CollectionSB 3 contains (green, small) stress ball\n"; + else + cout << "CollectionSB 3 does not contain (green, small) stress ball\n"; + + cout << "Add (green, small) stress ball\n"; + c3.insert_item(sb); + if (c3.contains(sb)) + cout << "CollectionSB 3 contains (green, small) stress ball\n"; + else + cout << "CollectionSB 3 does not contain (green, small) stress ball\n"; + + CollectionSB c4(c3); //make a copy + sort_by_size(c3, Sort_choice::bubble_sort); + cout << endl << "CollectionSB 3 sorted by bubble sort:\n"; + cout << c3; + + c3 = c4; + sort_by_size(c3, Sort_choice::quick_sort); + cout << endl << "CollectionSB 3 sorted by quick sort:\n"; + cout << c3 << endl; + + c3 = c4; + sort_by_size(c3, Sort_choice::merge_sort); + cout << endl << "CollectionSB 3 sorted by merge sort:\n"; + cout << c3 << endl; + + cout << "Make empty collection 3\n"; + c3.make_empty(); + if (c3.is_empty()) + cout << "CollectionSB 3 is empty\n"; + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; + + cout << "Make copy of collection 1 to collection 3\n"; + c3 = c1; + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; + + cout << "Swap collections 2 and 3:\n"; + swap(c2, c3); + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; +} + diff --git a/language_examples/constructor_call.spec.yaml b/language_examples/constructor_call.spec.yaml new file mode 100644 index 00000000..9227566b --- /dev/null +++ b/language_examples/constructor_call.spec.yaml @@ -0,0 +1,2033 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: fstream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: sstream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: Stress_ball.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: Collection.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: test_stress_balls + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: A + scopesBegin: + - meta.body.function.definition + scopes: + - variable.upper-case + - variable.other.unknown.A +- source: ; + scopes: + - punctuation.terminator.statement +- source: srand + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: time + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' open input files' + scopesEnd: + - comment.line.double-slash +- source: ifstream + scopes: + - meta.qualified-type + - entity.name.type +- source: input_file1 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: stress_ball1.data +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: input_file1 + scopes: + - variable.snake-case + - variable.other.unknown.input_file1 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '>>> Cannot open the file: stress_ball1.data' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: exit + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ifstream + scopes: + - meta.qualified-type + - entity.name.type +- source: input_file2 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: stress_ball2.data +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: input_file2 + scopes: + - variable.snake-case + - variable.other.unknown.input_file2 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '>>> Cannot open the file: stress_ball2.data' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: exit + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Making collections' + scopesEnd: + - comment.line.double-slash +- source: CollectionSB + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: c1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: input_file1 + scopes: + - variable.snake-case + - variable.other.unknown.input_file1 +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: c1 + scopes: + - variable.lower-case + - variable.other.unknown.c1 +- source: ; + scopes: + - punctuation.terminator.statement +- source: CollectionSB + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: c2 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: input_file2 + scopes: + - variable.snake-case + - variable.other.unknown.input_file2 +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: c2 + scopes: + - variable.lower-case + - variable.other.unknown.c2 +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' optional:' +- source: // + scopes: + - punctuation.definition.comment +- source: CollectionSB c1(5); +- source: // + scopes: + - punctuation.definition.comment +- source: CollectionSB c2(10); +- source: // + scopes: + - punctuation.definition.comment +- source: print collections + scopesEnd: + - comment.line.double-slash +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 1:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c1 + scopes: + - variable.lower-case + - variable.other.object.access.c1 +- source: . + scopes: + - punctuation.separator.dot-access +- source: print_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 2:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c2 + scopes: + - variable.lower-case + - variable.other.object.access.c2 +- source: . + scopes: + - punctuation.separator.dot-access +- source: print_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: CollectionSB + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: c3 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: make_union + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c1 + scopes: + - variable.lower-case + - variable.other.unknown.c1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: c2 + scopes: + - variable.lower-case + - variable.other.unknown.c2 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of small stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small + scopes: + - variable.lower-case + - variable.other.unknown.small +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of medium stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: medium + scopes: + - variable.lower-case + - variable.other.unknown.medium +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of large stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: large + scopes: + - variable.lower-case + - variable.other.unknown.large +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of red stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: red + scopes: + - variable.lower-case + - variable.other.unknown.red +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopes: + - meta.qualified-type + - entity.name.type +- source: sb + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: green + scopes: + - variable.lower-case + - variable.other.unknown.green +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small + scopes: + - variable.lower-case + - variable.other.unknown.small +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb + scopes: + - variable.lower-case + - variable.other.unknown.sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 contains (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 does not contain (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \n + scopes: + - constant.character.escape +- source: 'Remove all (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb + scopes: + - variable.lower-case + - variable.other.unknown.sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: remove_this_item + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb + scopes: + - variable.lower-case + - variable.other.unknown.sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb + scopes: + - variable.lower-case + - variable.other.unknown.sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 contains (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 does not contain (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Add (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_item + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb + scopes: + - variable.lower-case + - variable.other.unknown.sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb + scopes: + - variable.lower-case + - variable.other.unknown.sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 contains (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 does not contain (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: CollectionSB + scopes: + - meta.qualified-type + - entity.name.type +- source: c4 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: make a copy + scopesEnd: + - comment.line.double-slash +- source: sort_by_size + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Sort_choice + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: bubble_sort + scopes: + - variable.snake-case + - variable.other.unknown.bubble_sort +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 sorted by bubble sort:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '=' + scopes: + - keyword.operator.assignment +- source: c4 + scopes: + - variable.lower-case + - variable.other.unknown.c4 +- source: ; + scopes: + - punctuation.terminator.statement +- source: sort_by_size + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Sort_choice + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: quick_sort + scopes: + - variable.snake-case + - variable.other.unknown.quick_sort +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 sorted by quick sort:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '=' + scopes: + - keyword.operator.assignment +- source: c4 + scopes: + - variable.lower-case + - variable.other.unknown.c4 +- source: ; + scopes: + - punctuation.terminator.statement +- source: sort_by_size + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Sort_choice + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: merge_sort + scopes: + - variable.snake-case + - variable.other.unknown.merge_sort +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 sorted by merge sort:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Make empty collection 3 +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: make_empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.lower-case + - variable.other.object.access.c3 +- source: . + scopes: + - punctuation.separator.dot-access +- source: is_empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: CollectionSB 3 is empty +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Make copy of collection 1 to collection 3 +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '=' + scopes: + - keyword.operator.assignment +- source: c1 + scopes: + - variable.lower-case + - variable.other.unknown.c1 +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Swap collections 2 and 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: swap + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c2 + scopes: + - variable.lower-case + - variable.other.unknown.c2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.lower-case + - variable.other.unknown.c3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/declares.cpp b/language_examples/declares.cpp new file mode 100644 index 00000000..1e23badd --- /dev/null +++ b/language_examples/declares.cpp @@ -0,0 +1,37 @@ +#include +#include +#include "Stress_ball.h" + +using namespace std; + +int main() +{ + srand(time(NULL)); + + cout << "Default constructor test:\n"; + Stress_ball arr_test; + Stress_ball arr_test[5]; + for(int i = 0; i < 5; i++){ + arr_test[i] = Stress_ball(); + cout << i << ": " << arr_test[i] << endl; + } + + cout << "\nTwo arg constructor test:\n"; + Stress_ball test2(Stress_ball_colors::red, Stress_ball_sizes::small); + cout << test2 << endl; + + Stress_ball test3(Stress_ball_colors::green, Stress_ball_sizes::large); + cout << test3 << endl; + + cout << "\nCompare stress balls:\n"; + for (int i = 0; i < 5; i++) { + if (arr_test[i] == test2) { + cout << "arr_test[" << i << "] equal test2\n"; + } else if (arr_test[i] == test3) { + cout << "arr_test[" << i << "] equal test3\n"; + } else { + cout << "arr_test[" << i << "] not equal test2 nor test3\n"; + } + } + +} diff --git a/language_examples/declares.spec.yaml b/language_examples/declares.spec.yaml new file mode 100644 index 00000000..499132a7 --- /dev/null +++ b/language_examples/declares.spec.yaml @@ -0,0 +1,834 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: cstdlib +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: Stress_ball.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: using + scopesBegin: + - meta.using-namespace + scopes: + - keyword.other.using.directive +- source: namespace + scopes: + - keyword.other.namespace.directive + - storage.type.namespace.directive +- source: std + scopes: + - entity.name.namespace +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.using-namespace +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: srand + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: time + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'NULL' + scopes: + - constant.language.NULL +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Default constructor test:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arr_test + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arr_test + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '5' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.declaration + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: int + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: '5' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: Stress_ball + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ': ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \n + scopes: + - constant.character.escape +- source: 'Two arg constructor test:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopes: + - meta.qualified-type + - entity.name.type +- source: test2 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: red + scopes: + - variable.lower-case + - variable.other.unknown.red +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small + scopes: + - variable.lower-case + - variable.other.unknown.small +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: test2 + scopes: + - variable.lower-case + - variable.other.unknown.test2 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopes: + - meta.qualified-type + - entity.name.type +- source: test3 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: green + scopes: + - variable.lower-case + - variable.other.unknown.green +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: large + scopes: + - variable.lower-case + - variable.other.unknown.large +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: test3 + scopes: + - variable.lower-case + - variable.other.unknown.test3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \n + scopes: + - constant.character.escape +- source: 'Compare stress balls:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: int + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: '5' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '==' + scopes: + - keyword.operator.comparison +- source: test2 + scopes: + - variable.lower-case + - variable.other.unknown.test2 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'arr_test[' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '] equal test2' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '==' + scopes: + - keyword.operator.comparison +- source: test3 + scopes: + - variable.lower-case + - variable.other.unknown.test3 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'arr_test[' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '] equal test3' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'arr_test[' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '] not equal test2 nor test3' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/feature_assembly.spec.yaml b/language_examples/feature_assembly.spec.yaml index 0156862f..8f47ef0d 100644 --- a/language_examples/feature_assembly.spec.yaml +++ b/language_examples/feature_assembly.spec.yaml @@ -44,7 +44,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -66,13 +66,22 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: func scopes: - entity.name.function.call @@ -82,6 +91,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -134,6 +145,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner @@ -157,6 +171,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner diff --git a/language_examples/feature_basic_string_sso.spec.yaml b/language_examples/feature_basic_string_sso.spec.yaml index c93e3565..af7f1c92 100644 --- a/language_examples/feature_basic_string_sso.spec.yaml +++ b/language_examples/feature_basic_string_sso.spec.yaml @@ -287,7 +287,10 @@ scopes: - storage.type - storage.type.built-in -- source: ' SSO_size ' +- source: SSO_size + scopes: + - variable.snake-case + - variable.other.unknown.SSO_size - source: '=' scopes: - keyword.operator.assignment @@ -315,29 +318,57 @@ scopes: - meta.head.class - punctuation.section.block.begin.bracket.curly.class -- source: "\t\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.class + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: d + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' c' +- source: c + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' s' +- source: s + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -364,6 +395,7 @@ - source: __long_layout scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.__long_layout - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -380,6 +412,7 @@ - source: CharT scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.CharT - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -488,7 +521,7 @@ - keyword.operator.assignment - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -504,7 +537,7 @@ - keyword.operator.assignment - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -520,7 +553,7 @@ - keyword.operator.assignment - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -539,7 +572,7 @@ - keyword.other.typename - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -557,7 +590,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -573,7 +606,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -593,7 +626,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -611,7 +644,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -627,7 +660,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -644,7 +677,7 @@ - keyword.operator.assignment - source: value_type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -666,7 +699,7 @@ - storage.modifier.specifier.const - source: value_type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -688,7 +721,7 @@ - keyword.other.typename - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -706,7 +739,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -722,7 +755,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -742,7 +775,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -760,7 +793,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -776,7 +809,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -793,7 +826,7 @@ - keyword.operator.assignment - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -815,7 +848,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -834,7 +867,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -851,13 +884,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -873,7 +906,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -890,13 +923,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -913,7 +946,10 @@ scopes: - storage.type - storage.type.built-in -- source: ' npos ' +- source: npos + scopes: + - variable.lower-case + - variable.other.unknown.npos - source: '=' scopes: - keyword.operator.assignment @@ -936,10 +972,10 @@ - storage.type.modifier.access.control.private - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: std scopes: - entity.name.scope-resolution @@ -948,13 +984,18 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_same_v + scopes: + - variable.other.unknown.is_same_v - source: < scopes: - keyword.operator.comparison - source: value_type + scopes: + - variable.snake-case + - variable.other.unknown.value_type - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: 'typename Traits::char_type>,' @@ -968,20 +1009,20 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: std scopes: - entity.name.scope-resolution @@ -990,16 +1031,21 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_trivial_v + scopes: + - variable.other.unknown.is_trivial_v - source: < scopes: - keyword.operator.comparison - source: value_type + scopes: + - variable.snake-case + - variable.other.unknown.value_type - source: '>' scopes: - keyword.operator.comparison - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -1012,11 +1058,11 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement @@ -1041,7 +1087,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1058,13 +1104,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -1080,7 +1126,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1097,20 +1143,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -1126,7 +1172,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1144,13 +1190,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -1158,6 +1204,8 @@ scopesEnd: - meta.declaration.type.alias - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: static @@ -1165,12 +1213,19 @@ - storage.modifier.specifier.static - source: size_t scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown._SSO_Cap - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -1186,17 +1241,26 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: SSO_size + scopes: + - variable.snake-case + - variable.other.unknown.SSO_size - source: < scopes: - keyword.operator.comparison - source: CharT + scopes: + - variable.other.unknown.CharT - source: '>' scopes: - keyword.operator.comparison + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: static @@ -1204,12 +1268,19 @@ - storage.modifier.specifier.static - source: size_t scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' _size_mask ' +- source: _size_mask + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown._size_mask - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -1220,6 +1291,7 @@ - constant.numeric.decimal - source: ULL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: '<<' scopes: @@ -1259,7 +1331,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'digits ' +- source: digits + scopes: + - variable.lower-case + - variable.other.unknown.digits - source: '-' scopes: - keyword.operator.arithmetic @@ -1282,6 +1357,8 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1298,29 +1375,57 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: data + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' capacity' +- source: capacity + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' size' +- source: size + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1343,27 +1448,48 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type - source: buf - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t_UCharT remain" +- source: _UCharT + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: remain + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1379,10 +1505,10 @@ - meta.block.struct - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: sizeof scopes: - keyword.operator.functionlike @@ -1393,6 +1519,7 @@ - source: _long scopes: - meta.arguments.operator.sizeof + - variable.other.unknown._long - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -1409,12 +1536,13 @@ - source: _short scopes: - meta.arguments.operator.sizeof + - variable.other.unknown._short - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement @@ -1431,13 +1559,34 @@ scopes: - meta.head.union - punctuation.section.block.begin.bracket.curly.union -- source: "\t\t\t_long _l" +- source: _long scopesBegin: - meta.body.union + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: _l + scopes: + - meta.declaration + - variable.other.unknown._l + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t_short _s" +- source: _short + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: _s + scopes: + - meta.declaration + - variable.other.unknown._s + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1460,6 +1609,9 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1467,18 +1619,36 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: tuple + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: _rep + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' Allocator' + - punctuation.separator.delimiter.comma.template.argument +- source: Allocator + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' __string' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: __string + scopes: + - meta.declaration + - variable.other.unknown.__string + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1497,7 +1667,7 @@ - storage.modifier.constexpr - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __is_long @@ -1564,6 +1734,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1572,7 +1744,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -1616,7 +1788,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: _UCharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1628,7 +1800,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'digits ' +- source: digits + scopes: + - variable.lower-case + - variable.other.unknown.digits - source: '-' scopes: - keyword.operator.arithmetic @@ -1666,7 +1841,7 @@ - storage.modifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -1736,6 +1911,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1744,7 +1921,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -1796,6 +1973,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1804,7 +1983,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -1840,7 +2019,7 @@ - storage.modifier.constexpr - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -1907,6 +2086,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1915,7 +2096,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -1967,6 +2148,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1975,7 +2158,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -2011,7 +2194,7 @@ - storage.modifier.constexpr - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: __capacity @@ -2079,6 +2262,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2087,7 +2272,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2097,7 +2282,9 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ; scopes: - punctuation.terminator.statement @@ -2111,7 +2298,7 @@ - storage.modifier.constexpr - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: __size @@ -2194,6 +2381,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2202,7 +2391,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2212,7 +2401,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' _size_mask' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: ; scopes: - punctuation.terminator.statement @@ -2222,13 +2413,23 @@ scopesEnd: - meta.block - source: size_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' remain ' +- source: remain + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -2258,6 +2459,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2266,24 +2469,31 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access - source: remain scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: '-' scopes: - keyword.operator.arithmetic -- source: ' remain' +- source: remain + scopes: + - variable.lower-case + - variable.other.unknown.remain - source: ; scopes: - punctuation.terminator.statement @@ -2297,7 +2507,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_long_size @@ -2360,6 +2570,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2368,7 +2580,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2378,7 +2590,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' size ' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: '|' scopes: - keyword.operator.bitwise @@ -2387,7 +2602,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -2412,7 +2629,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_short_size @@ -2475,6 +2692,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2483,7 +2702,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -2493,11 +2712,16 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: '-' scopes: - keyword.operator.arithmetic -- source: ' size' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement @@ -2534,7 +2758,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_size @@ -2585,14 +2809,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' small ' +- source: small + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' preserve ' + scopesEnd: + - meta.assignment +- source: preserve + scopes: + - variable.lower-case + - variable.other.unknown.preserve - source: '?' scopes: - keyword.operator.ternary @@ -2611,11 +2847,18 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' size ' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: <= scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2628,6 +2871,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: small + scopes: + - variable.lower-case + - variable.other.unknown.small - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2645,6 +2891,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2671,6 +2920,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2700,7 +2952,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: __capacity_from_count @@ -2753,11 +3005,16 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: <= scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2771,7 +3028,9 @@ - source: return scopes: - keyword.control.return -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ; scopes: - punctuation.terminator.statement @@ -2783,7 +3042,10 @@ - source: return scopes: - keyword.control.return -- source: ' count ' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '|' scopes: - keyword.operator.bitwise @@ -2800,7 +3062,7 @@ - meta.body.function.definition - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -2844,11 +3106,16 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '>' scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2859,10 +3126,23 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: "\t\t\t\tsize_type capacity " +- source: size_type + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: capacity + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __capacity_from_count scopes: - entity.name.function.call @@ -2870,9 +3150,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2905,6 +3190,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2964,13 +3251,18 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' capacity ' +- source: capacity + scopes: + - variable.lower-case + - variable.other.unknown.capacity - source: + scopes: - keyword.operator.arithmetic @@ -2983,11 +3275,17 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' capacity' +- source: capacity + scopes: + - variable.lower-case + - variable.other.unknown.capacity - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: "\t\t\t\t count " +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '|' scopes: - keyword.operator.bitwise @@ -2996,7 +3294,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -3070,6 +3370,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3078,7 +3380,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -3088,11 +3390,16 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: '-' scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement @@ -3123,7 +3430,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Deallocate @@ -3213,6 +3520,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3279,7 +3588,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_contents @@ -3377,7 +3686,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: 'buf ' +- source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: '!=' scopes: - keyword.operator.comparison @@ -3421,14 +3733,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' contents' +- source: contents + scopes: + - variable.lower-case + - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3457,6 +3778,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -3487,6 +3811,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3506,7 +3833,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_contents @@ -3572,11 +3899,17 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' contents' +- source: contents + scopes: + - variable.lower-case + - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3601,7 +3934,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Resize @@ -3633,9 +3966,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\tnew_cap " +- source: new_cap scopesBegin: - meta.body.function.definition + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: '=' scopes: - keyword.operator.assignment @@ -3646,6 +3982,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3653,13 +3992,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' buf ' +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _Sat scopes: - entity.name.scope-resolution @@ -3702,13 +4051,18 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap ' +- source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: + scopes: - keyword.operator.arithmetic @@ -3718,6 +4072,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -3728,6 +4084,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3805,6 +4164,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3823,10 +4184,16 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap' +- source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3847,7 +4214,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -3874,7 +4243,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Push_back @@ -3908,13 +4277,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' size ' +- source: size + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __size scopes: - entity.name.function.call @@ -3924,6 +4302,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -3935,7 +4315,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'size ' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: < scopes: - keyword.operator.comparison @@ -3959,13 +4342,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' buf ' +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -3975,6 +4368,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4000,6 +4395,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -4008,7 +4406,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' elem' +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4036,7 +4437,10 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'size ' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: + scopes: - keyword.operator.arithmetic @@ -4072,7 +4476,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'size ' +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size - source: + scopes: - keyword.operator.arithmetic @@ -4107,13 +4514,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' old_cap ' +- source: old_cap + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __capacity scopes: - entity.name.function.call @@ -4123,6 +4540,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4135,14 +4554,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' new_cap ' +- source: new_cap + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' old_cap ' + scopesEnd: + - meta.assignment +- source: old_cap + scopes: + - variable.snake-case + - variable.other.unknown.old_cap - source: + scopes: - keyword.operator.arithmetic @@ -4151,7 +4583,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'old_cap ' +- source: old_cap + scopes: + - variable.snake-case + - variable.other.unknown.old_cap - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -4171,7 +4606,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'old_cap ' +- source: old_cap + scopes: + - variable.snake-case + - variable.other.unknown.old_cap - source: '&' scopes: - keyword.operator.bitwise @@ -4182,6 +4620,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -4193,6 +4632,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4206,6 +4648,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4262,7 +4707,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Insert_no_resize @@ -4315,13 +4760,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4336,24 +4790,42 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' buf ' +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -4363,6 +4835,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4379,23 +4853,38 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'buf ' +- source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' buf ' +- source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4411,7 +4900,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4426,11 +4918,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4463,6 +4961,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -4475,6 +4976,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4485,6 +4989,9 @@ scopes: - keyword.operator.increment - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4492,6 +4999,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -4518,7 +5028,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4619,7 +5132,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Insert_resize @@ -4672,13 +5185,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4693,24 +5215,42 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' old_buf ' +- source: old_buf + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -4720,6 +5260,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4736,13 +5278,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' new_cap ' +- source: new_cap + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __capacity_from_count scopes: - entity.name.function.call @@ -4761,21 +5313,36 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' new_buf ' +- source: new_buf + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _Sat scopes: - entity.name.scope-resolution @@ -4818,13 +5385,18 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap ' +- source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: + scopes: - keyword.operator.arithmetic @@ -4834,6 +5406,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4859,14 +5433,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_buf + scopes: + - variable.snake-case + - variable.other.unknown.new_buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' old_buf' +- source: old_buf + scopes: + - variable.snake-case + - variable.other.unknown.old_buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4881,11 +5464,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4918,6 +5507,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -4930,6 +5522,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4940,6 +5535,9 @@ scopes: - keyword.operator.increment - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4947,6 +5545,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -4976,23 +5577,38 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'new_buf ' +- source: new_buf + scopes: + - variable.snake-case + - variable.other.unknown.new_buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' old_buf ' +- source: old_buf + scopes: + - variable.snake-case + - variable.other.unknown.old_buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5008,7 +5624,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5056,6 +5675,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5074,10 +5695,16 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: new_buf + scopes: + - variable.snake-case + - variable.other.unknown.new_buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap' +- source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5093,7 +5720,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance ' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: '|' scopes: - keyword.operator.bitwise @@ -5102,7 +5732,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -5216,7 +5848,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Insert @@ -5269,13 +5901,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -5290,13 +5931,21 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5320,7 +5969,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance ' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: '>' scopes: - keyword.operator.comparison @@ -5350,14 +6002,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' first' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5384,14 +6045,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' first' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5421,7 +6091,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: get_allocator scopesBegin: @@ -5476,6 +6146,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5628,9 +6300,12 @@ scopes: - >- punctuation.section.arguments.begin.bracket.round.function.call.initializer -- source: '{._s ' +- source: '{.' scopesBegin: - meta.parameter.initialization +- source: _s + scopes: + - variable.other.unknown._s - source: '=' scopes: - keyword.operator.assignment @@ -5638,11 +6313,17 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' _SSO_Cap}}' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap +- source: '}}' - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -5718,7 +6399,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5732,7 +6413,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -5826,7 +6507,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -5838,16 +6522,27 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -5855,9 +6550,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5870,10 +6570,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: size_t + scopesBegin: + - meta.parens.control.for scopes: - storage.type - storage.type.built-in -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -5883,18 +6588,29 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5927,6 +6643,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -5935,7 +6654,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5969,6 +6691,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6080,7 +6805,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6092,15 +6820,28 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tsize_type count " +- source: size_type scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6116,7 +6857,12 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6127,6 +6873,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6141,7 +6890,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6157,11 +6907,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6265,7 +7021,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6277,9 +7036,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tcount " +- source: count scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -6298,7 +7060,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6314,11 +7077,17 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6332,6 +7101,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6346,7 +7118,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6362,11 +7135,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6461,7 +7240,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6482,6 +7264,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6495,10 +7280,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6558,7 +7349,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6572,7 +7363,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6660,6 +7451,9 @@ - source: s scopesBegin: - meta.parameter.initialization + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6677,13 +7471,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6754,7 +7554,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6768,7 +7568,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6874,7 +7674,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6917,7 +7720,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6930,6 +7733,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6941,13 +7747,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' count ' +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -6962,24 +7778,44 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -6987,9 +7823,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7001,11 +7842,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7033,6 +7880,9 @@ scopes: - keyword.operator.arithmetic - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7040,6 +7890,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7050,6 +7903,9 @@ scopes: - keyword.operator.increment - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7071,6 +7927,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -7101,6 +7960,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -7135,7 +7997,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: "\t\t\t__string " +- source: __string + scopes: + - variable.other.unknown.__string - source: '=' scopes: - keyword.operator.assignment @@ -7157,7 +8021,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7174,11 +8041,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7199,6 +8072,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7209,6 +8085,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -7266,6 +8145,9 @@ - source: other scopesBegin: - meta.parameter.initialization + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7355,7 +8237,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -7367,15 +8252,28 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tsize_type count " +- source: size_type scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7388,17 +8286,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -7406,9 +8318,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7426,12 +8343,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7447,7 +8368,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7519,6 +8443,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: other + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7527,7 +8454,8 @@ - punctuation.separator.delimiter.comma - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7617,7 +8545,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -7639,13 +8570,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'alloc ' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc - source: '!=' scopes: - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7676,13 +8611,27 @@ - source: ' perform new alloc then copy' scopesEnd: - comment.line.double-slash -- source: "\t\t\t\tsize_type count " +- source: size_type + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7695,17 +8644,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -7713,9 +8676,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7733,12 +8701,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7754,7 +8726,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7798,6 +8773,9 @@ scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7811,6 +8789,8 @@ - source: basic_string scopes: - meta.arguments.operator.sizeof + - variable.snake-case + - variable.other.unknown.basic_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -7842,7 +8822,8 @@ - comment.line.double-slash - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7853,6 +8834,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7899,7 +8882,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7956,7 +8939,8 @@ scopesBegin: - meta.parameter.initialization scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -7974,7 +8958,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -7990,7 +8975,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.lower-case + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -8060,7 +9048,7 @@ - punctuation.separator.scope-resolution.template.call - source: is_convertible_v scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -8073,7 +9061,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -8083,13 +9071,13 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -8186,23 +9174,54 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\t_Sv cv " +- source: _Sv scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: cv + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' t' + scopesEnd: + - meta.assignment +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tsize_type count " +- source: size_type + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -8215,6 +9234,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8225,6 +9246,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8239,7 +9263,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -8255,7 +9280,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8321,7 +9349,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -8331,7 +9359,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -8345,7 +9373,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -8469,6 +9497,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: t + scopes: + - variable.lower-case + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8482,10 +9513,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8555,7 +9592,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -8619,6 +9656,9 @@ scopes: - keyword.operator.bitwise - source: str + scopes: + - variable.lower-case + - variable.other.unknown.str - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8674,7 +9714,8 @@ - keyword.operator.comparison - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -8717,7 +9758,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -8749,7 +9791,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -8767,7 +9810,8 @@ - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -8806,7 +9850,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -8867,7 +9911,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '||' scopes: - keyword.operator.logical @@ -8886,6 +9933,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value scopesEnd: - meta.arguments.operator.noexcept - source: ) @@ -8917,6 +9967,9 @@ scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8966,7 +10019,8 @@ - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9000,6 +10054,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9010,13 +10067,27 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: "\t\t\t\tsize_type count " +- source: size_type + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9029,6 +10100,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9039,6 +10112,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9053,7 +10129,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9069,7 +10146,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9105,6 +10185,9 @@ scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9118,6 +10201,8 @@ - source: basic_string scopes: - meta.arguments.operator.sizeof + - variable.snake-case + - variable.other.unknown.basic_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -9129,7 +10214,8 @@ - punctuation.terminator.statement - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9140,6 +10226,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9171,7 +10259,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9215,12 +10303,24 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: "\t\t\tsize_type count " +- source: size_type scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Traits scopes: - entity.name.scope-resolution @@ -9235,9 +10335,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9267,7 +10372,10 @@ - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9297,6 +10405,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9315,10 +10426,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9345,7 +10462,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9397,14 +10514,26 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -9417,6 +10546,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9452,7 +10583,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9526,7 +10660,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9563,7 +10697,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -9585,16 +10719,27 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -9604,6 +10749,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9635,7 +10782,8 @@ - keyword.operator.comparison - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -9670,7 +10818,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tbuf " +- source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: '=' scopes: - keyword.operator.assignment @@ -9681,6 +10832,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9706,12 +10860,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -9729,7 +10887,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -9770,6 +10929,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -9864,7 +11026,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9874,7 +11036,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -9888,7 +11050,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&&' scopesBegin: @@ -9905,7 +11067,7 @@ - punctuation.separator.scope-resolution.template.call - source: is_convertible_v scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -9918,7 +11080,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9931,7 +11093,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -9940,7 +11102,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -9973,7 +11135,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10031,21 +11193,53 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t_Sv cv " +- source: _Sv + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: cv + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' t' + scopesEnd: + - meta.assignment +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tsize_type count " +- source: size_type + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -10058,17 +11252,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -10076,9 +11284,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10090,7 +11303,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -10106,7 +11320,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10124,7 +11341,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10180,14 +11397,26 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -10195,9 +11424,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10210,10 +11444,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: size_t + scopesBegin: + - meta.parens.control.for scopes: - storage.type - storage.type.built-in -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -10223,18 +11462,29 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10267,6 +11517,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10275,7 +11528,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10309,6 +11565,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10351,7 +11610,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10404,7 +11663,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' str' +- source: str + scopes: + - variable.lower-case + - variable.other.unknown.str - source: ; scopes: - punctuation.terminator.statement @@ -10415,7 +11677,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10464,7 +11726,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.lower-case + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -10489,7 +11754,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -10500,10 +11766,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10520,7 +11792,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10577,7 +11849,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '||' scopes: - keyword.operator.logical @@ -10596,6 +11871,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value scopesEnd: - meta.arguments.operator.noexcept - source: ) @@ -10634,6 +11912,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: str + scopes: + - variable.lower-case + - variable.other.unknown.str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10647,7 +11928,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10707,14 +11988,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10728,7 +12018,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10779,6 +12069,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -10796,6 +12089,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -10860,7 +12156,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -10874,7 +12170,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -10907,7 +12203,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10992,7 +12288,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -11005,6 +12301,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11016,13 +12315,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' count ' +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -11037,24 +12346,44 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tCharT " +- source: CharT + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -11062,9 +12391,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11076,11 +12410,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11108,6 +12448,9 @@ scopes: - keyword.operator.arithmetic - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11115,6 +12458,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11125,6 +12471,9 @@ scopes: - keyword.operator.increment - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11146,6 +12495,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -11194,11 +12546,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11219,6 +12577,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11229,6 +12590,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -11295,7 +12659,7 @@ - punctuation.separator.scope-resolution.template.call - source: is_convertible_v scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -11308,7 +12672,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11318,13 +12682,13 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -11357,7 +12721,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11481,7 +12845,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11491,7 +12855,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -11505,7 +12869,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -11538,7 +12902,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11640,6 +13004,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: t + scopes: + - variable.lower-case + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11653,10 +13020,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11673,7 +13046,7 @@ - meta.body.function.definition - source: reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: at scopesBegin: @@ -11713,7 +13086,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '>=' scopes: - keyword.operator.comparison @@ -11792,6 +13168,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11807,7 +13186,7 @@ - meta.body.function.definition - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: at scopesBegin: @@ -11850,7 +13229,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '>=' scopes: - keyword.operator.comparison @@ -11929,6 +13311,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11947,7 +13332,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -12002,6 +13387,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12018,7 +13406,7 @@ - meta.body.function.definition.special.operator-overload - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -12076,6 +13464,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12095,7 +13486,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: front scopesBegin: @@ -12150,7 +13541,7 @@ - meta.body.function.definition - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: front scopesBegin: @@ -12208,7 +13599,7 @@ - meta.body.function.definition - source: reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: back scopesBegin: @@ -12275,7 +13666,7 @@ - meta.body.function.definition - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: back scopesBegin: @@ -12345,7 +13736,7 @@ - meta.body.function.definition - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -12396,7 +13787,7 @@ - storage.modifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -12450,7 +13841,7 @@ - storage.modifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -12525,14 +13916,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -12581,14 +13972,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -12637,7 +14028,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: begin scopesBegin: @@ -12682,7 +14073,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: begin scopesBegin: @@ -12730,7 +14121,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: cbegin scopesBegin: @@ -12778,7 +14169,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: end scopesBegin: @@ -12835,7 +14226,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: end scopesBegin: @@ -12895,7 +14286,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: cend scopesBegin: @@ -12955,7 +14346,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rbegin scopesBegin: @@ -13009,7 +14400,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rbegin scopesBegin: @@ -13066,7 +14457,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: crbegin scopesBegin: @@ -13123,7 +14514,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rend scopesBegin: @@ -13189,7 +14580,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rend scopesBegin: @@ -13258,7 +14649,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: crend scopesBegin: @@ -13340,7 +14731,7 @@ - support.other.attribute - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: empty @@ -13370,7 +14761,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: size scopesBegin: @@ -13418,7 +14809,7 @@ - meta.body.function.definition - source: size_type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: max_size scopesBegin: @@ -13447,7 +14838,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' _size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: '-' scopes: - keyword.operator.arithmetic @@ -13464,7 +14857,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: reserve @@ -13505,7 +14898,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'new_cap ' +- source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: '>' scopes: - keyword.operator.comparison @@ -13535,6 +14931,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap + scopes: + - variable.snake-case + - variable.other.unknown.new_cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13553,7 +14952,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: reserve @@ -13593,7 +14992,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: capacity scopesBegin: @@ -13638,7 +15037,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: shrink_to_fit @@ -13686,7 +15085,9 @@ - source: '>' scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13730,7 +15131,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: clear @@ -13779,7 +15180,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -13839,6 +15240,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13849,6 +15253,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13862,10 +15269,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -13894,7 +15307,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -13945,13 +15358,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: traits_type scopes: - entity.name.scope-resolution @@ -13966,9 +15388,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13979,18 +15406,30 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.lower-case + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14016,7 +15455,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14082,18 +15521,30 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s ' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14119,7 +15570,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14176,12 +15627,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -14199,7 +15654,8 @@ - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -14237,7 +15693,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14295,7 +15751,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.lower-case + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -14307,9 +15766,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\tcount " +- source: count scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -14327,12 +15789,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -14348,7 +15814,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' index_str' +- source: index_str + scopes: + - variable.snake-case + - variable.other.unknown.index_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14362,12 +15831,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -14383,13 +15856,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' index_str' +- source: index_str + scopes: + - variable.snake-case + - variable.other.unknown.index_str - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -14405,11 +15882,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' index_str ' +- source: index_str + scopes: + - variable.snake-case + - variable.other.unknown.index_str - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14435,7 +15918,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -14485,7 +15968,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -14501,7 +15987,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14521,7 +16010,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -14580,7 +16069,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -14596,11 +16088,17 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14662,7 +16160,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -14676,7 +16174,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -14709,7 +16207,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -14774,7 +16272,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '==' scopes: - keyword.operator.comparison @@ -14805,11 +16306,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14830,6 +16337,9 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14840,6 +16350,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -14862,14 +16375,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' indx ' +- source: indx + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' pos ' + scopesEnd: + - meta.assignment +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -14882,6 +16408,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14893,11 +16421,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.lower-case + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14909,17 +16443,32 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' ch ' +- source: ch + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14930,6 +16479,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: indx + scopes: + - variable.lower-case + - variable.other.unknown.indx - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14940,6 +16492,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14953,6 +16508,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14972,6 +16530,9 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.lower-case + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14993,6 +16554,9 @@ scopes: - keyword.operator.increment - source: indx + scopes: + - variable.lower-case + - variable.other.unknown.indx - source: ; scopes: - punctuation.terminator.statement @@ -15025,7 +16589,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -15064,7 +16628,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -15093,7 +16657,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'pos ' +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -15111,7 +16678,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -15129,7 +16697,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -15218,7 +16787,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15228,7 +16797,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -15242,7 +16811,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&&' scopesBegin: @@ -15271,7 +16840,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15284,7 +16853,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -15301,7 +16870,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -15334,7 +16903,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15382,13 +16951,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\t_Sv sv " +- source: _Sv scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: sv + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' t' + scopesEnd: + - meta.assignment +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15402,12 +16988,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -15425,7 +17015,8 @@ - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -15502,7 +17093,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15512,7 +17103,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -15526,7 +17117,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&&' scopesBegin: @@ -15555,7 +17146,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15568,7 +17159,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -15585,7 +17176,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -15618,7 +17209,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15676,7 +17267,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.lower-case + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -15688,12 +17282,24 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\t_Sv sv " +- source: _Sv scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: sv + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _Sv scopes: - entity.name.function.call @@ -15701,6 +17307,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: t + scopes: + - variable.lower-case + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15714,13 +17323,21 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index_str + scopes: + - variable.snake-case + - variable.other.unknown.index_str - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15734,12 +17351,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -15757,7 +17378,8 @@ - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -15783,7 +17405,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15823,7 +17445,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.lower-case + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -15835,9 +17460,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\tcount " +- source: count scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -15855,6 +17483,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15870,7 +17501,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15885,7 +17519,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '==' scopes: - keyword.operator.comparison @@ -15926,7 +17563,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: erase scopesBegin: @@ -15962,7 +17599,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: erase scopesBegin: diff --git a/language_examples/feature_consteval.spec.yaml b/language_examples/feature_consteval.spec.yaml index e47dfd2a..187ef157 100644 --- a/language_examples/feature_consteval.spec.yaml +++ b/language_examples/feature_consteval.spec.yaml @@ -17,7 +17,7 @@ - storage.modifier.constexpr - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sqr @@ -54,11 +54,17 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' n ' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: '*' scopes: - keyword.operator.arithmetic -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -72,7 +78,7 @@ - storage.modifier.consteval - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sqr2 @@ -109,11 +115,17 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' n ' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: '*' scopes: - keyword.operator.arithmetic -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_constinit.spec.yaml b/language_examples/feature_constinit.spec.yaml index 7668fcbd..95a71f26 100644 --- a/language_examples/feature_constinit.spec.yaml +++ b/language_examples/feature_constinit.spec.yaml @@ -10,7 +10,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -44,7 +44,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' c ' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: '=' scopes: - keyword.operator.assignment @@ -82,7 +85,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' x' +- source: x + scopes: + - variable.lower-case + - variable.other.unknown.x - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_doxygen.spec.yaml b/language_examples/feature_doxygen.spec.yaml index bedf3e0a..7e6943da 100644 --- a/language_examples/feature_doxygen.spec.yaml +++ b/language_examples/feature_doxygen.spec.yaml @@ -63,7 +63,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -198,7 +198,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' var' +- source: var + scopes: + - variable.lower-case + - variable.other.unknown.var - source: ; scopes: - punctuation.terminator.statement @@ -255,7 +258,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: cstyle @@ -328,7 +331,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: javadocBanner @@ -445,7 +448,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: doxygenBanner @@ -638,7 +641,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' enumPtr' +- source: enumPtr + scopes: + - variable.camel-case + - variable.other.unknown.enumPtr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -661,7 +667,10 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: "\t enumVar" +- source: enumVar + scopes: + - variable.camel-case + - variable.other.unknown.enumVar scopesEnd: - meta.tail.enum - source: ; @@ -790,7 +799,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: testMe @@ -882,7 +891,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: testMeToo @@ -951,10 +960,19 @@ scopesEnd: - comment.block.documentation - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' publicVar' +- source: publicVar + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -979,7 +997,7 @@ - comment.block.documentation - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( diff --git a/language_examples/feature_operator_overload.spec.yaml b/language_examples/feature_operator_overload.spec.yaml index 211e0e1e..77a96681 100644 --- a/language_examples/feature_operator_overload.spec.yaml +++ b/language_examples/feature_operator_overload.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -73,7 +73,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -144,7 +144,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -215,7 +215,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -289,7 +289,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -323,7 +323,7 @@ - punctuation.separator.delimiter.comma - source: ostream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -411,14 +411,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -611,7 +611,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -711,7 +711,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -723,7 +724,8 @@ - punctuation.separator.delimiter.comma - source: rhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rhs - source: . scopes: - punctuation.separator.dot-access @@ -744,7 +746,8 @@ scopesBegin: - meta.arguments.operator.sizeof scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -787,7 +790,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -830,7 +833,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -872,7 +875,7 @@ - source: std scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -883,7 +886,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -942,7 +945,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator diff --git a/language_examples/feature_parameters.spec.yaml b/language_examples/feature_parameters.spec.yaml index 343d3ec2..6933e325 100644 --- a/language_examples/feature_parameters.spec.yaml +++ b/language_examples/feature_parameters.spec.yaml @@ -64,7 +64,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Type' +- source: Type + scopes: + - variable.other.unknown.Type - source: ; scopes: - punctuation.terminator.statement @@ -72,7 +74,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -84,7 +89,7 @@ - punctuation.terminator.statement - source: Type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -120,7 +125,7 @@ - punctuation.terminator.statement - source: Type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -171,7 +176,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 @@ -187,7 +192,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -231,7 +236,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr2' +- source: fn_ptr2 + scopes: + - variable.snake-case + - variable.other.unknown.fn_ptr2 scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -256,7 +264,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func2 @@ -272,7 +280,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -306,7 +314,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr' +- source: fn_ptr + scopes: + - variable.snake-case + - variable.other.unknown.fn_ptr scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -331,7 +342,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func3 @@ -347,7 +358,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -402,7 +413,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func4 @@ -418,7 +429,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -474,7 +485,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func5 @@ -497,7 +508,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -522,7 +536,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func6 @@ -542,7 +556,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -567,7 +584,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func7 @@ -611,7 +628,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func8 @@ -648,7 +665,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func9 @@ -680,7 +697,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func11 @@ -696,7 +713,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -740,7 +757,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr2' +- source: fn_ptr2 + scopes: + - variable.snake-case + - variable.other.unknown.fn_ptr2 scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -765,7 +785,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func12 @@ -781,7 +801,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -815,7 +835,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr' +- source: fn_ptr + scopes: + - variable.snake-case + - variable.other.unknown.fn_ptr scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -840,7 +863,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func13 @@ -856,7 +879,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -911,7 +934,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func14 @@ -927,7 +950,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -983,7 +1006,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func15 @@ -1006,7 +1029,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -1031,7 +1057,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func16 @@ -1051,7 +1077,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -1076,7 +1105,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func17 @@ -1120,7 +1149,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func18 @@ -1157,7 +1186,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func19 @@ -1189,7 +1218,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func20 @@ -1239,7 +1268,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func21 @@ -1289,7 +1318,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func22 @@ -1347,7 +1376,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func23 @@ -1391,7 +1420,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func24 @@ -1436,7 +1465,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func25 @@ -1485,7 +1514,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func26 @@ -1533,7 +1562,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func27 @@ -1549,7 +1578,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -1675,14 +1704,14 @@ - source: class scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -1759,14 +1788,14 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: class scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -1858,14 +1887,14 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: class scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -2007,7 +2036,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -2038,7 +2067,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -2082,7 +2111,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: failedToLoadCriticalData @@ -2148,7 +2177,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: failedToLoadCriticalData @@ -2226,7 +2255,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: aFunction @@ -2263,7 +2292,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -2301,7 +2330,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -2373,7 +2402,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/feature_preprocessor.cpp b/language_examples/feature_preprocessor.cpp index 0d59c694..0f1bdcdb 100644 --- a/language_examples/feature_preprocessor.cpp +++ b/language_examples/feature_preprocessor.cpp @@ -53,3 +53,19 @@ int other; { +#define thing /* + this should be a comment +*/ + +#if thing /* + this should be a comment +*/ + +#define test test2 /* line 1 + The timeout is set to 5x to ensure we don't timeout too early. */ + +/* test comment */ +typedef enum{ + A= 0, + B= 1 +} BB; \ No newline at end of file diff --git a/language_examples/feature_preprocessor.spec.yaml b/language_examples/feature_preprocessor.spec.yaml index 2466d8af..be15e870 100644 --- a/language_examples/feature_preprocessor.spec.yaml +++ b/language_examples/feature_preprocessor.spec.yaml @@ -50,7 +50,10 @@ - source: a scopes: - entity.name.function.preprocessor -- source: ' thing ' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: '{' scopesBegin: - meta.block @@ -91,7 +94,16 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' arg1 arg2' +- source: arg1 + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.arg1 +- source: arg2 + scopes: + - variable.other.unknown.arg2 + scopesEnd: + - variable.lower-case - source: '#' scopesBegin: - keyword.control.directive.define @@ -396,10 +408,10 @@ - source: Stuff scopes: - entity.name.type.struct - scopesEnd: - - meta.block.struct - source: '#' scopesBegin: + - meta.head.struct + - meta.preprocessor.macro - keyword.control.directive.define scopes: - punctuation.definition.directive @@ -429,6 +441,9 @@ scopesEnd: - meta.block.struct - meta.head.struct + - meta.preprocessor.macro + - meta.block.struct + - meta.head.struct - source: '#' scopesBegin: - keyword.control.directive.define @@ -475,14 +490,26 @@ scopes: - constant.character.escape.line-continuation - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' data' +- source: data + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' members' +- source: members + scopes: + - variable.lower-case + - variable.other.unknown.members + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -490,10 +517,19 @@ scopes: - constant.character.escape.line-continuation - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' other' +- source: other + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -610,7 +646,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: __VA_ARGS__ scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -631,6 +667,8 @@ scopes: - constant.character.escape.line-continuation - source: static + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -638,15 +676,25 @@ - storage.modifier.specifier.const - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' isPoint ' +- source: isPoint + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -690,6 +738,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: T + scopes: + - variable.upper-case + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -732,7 +783,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -745,7 +796,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -756,10 +807,154 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: \ scopes: - constant.character.escape.line-continuation - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.struct + scopesEnd: + - meta.block.struct + - meta.head.struct +- source: '#' + scopesBegin: + - keyword.control.directive.define + scopes: + - punctuation.definition.directive +- source: define + scopesEnd: + - keyword.control.directive.define +- source: thing + scopes: + - entity.name.function.preprocessor +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' this should be a comment' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - meta.preprocessor.macro + - comment.block +- source: '#' + scopesBegin: + - keyword.control.directive.conditional.if + scopes: + - punctuation.definition.directive +- source: if + scopesEnd: + - keyword.control.directive.conditional.if +- source: thing + scopesBegin: + - meta.preprocessor.conditional + scopes: + - entity.name.function.preprocessor +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' this should be a comment' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - meta.preprocessor.conditional + - comment.block +- source: '#' + scopesBegin: + - meta.preprocessor.macro + - keyword.control.directive.define + scopes: + - punctuation.definition.directive +- source: define + scopesEnd: + - keyword.control.directive.define +- source: test + scopes: + - entity.name.function.preprocessor +- source: test2 + scopes: + - variable.lower-case + - variable.other.unknown.test2 +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' line 1' +- source: ' The timeout is set to 5x to ensure we don''t timeout too early. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - meta.preprocessor.macro + - comment.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' test comment ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: typedef + scopes: + - keyword.other.typedef +- source: enum + scopesBegin: + - meta.block.enum + - meta.head.enum + scopes: + - storage.type.enum +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.enum + scopesEnd: + - meta.head.enum +- source: A + scopesBegin: + - meta.body.enum + - meta.enum.definition + scopes: + - variable.other.enummember +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: B + scopes: + - variable.other.enummember +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.enum.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.enum + scopesEnd: + - meta.body.enum +- source: BB + scopes: + - meta.tail.enum + - variable.upper-case + - variable.other.unknown.BB +- source: ; + scopes: + - punctuation.terminator.statement diff --git a/language_examples/feature_tagged_strings.spec.yaml b/language_examples/feature_tagged_strings.spec.yaml index 115ee12a..d3850661 100644 --- a/language_examples/feature_tagged_strings.spec.yaml +++ b/language_examples/feature_tagged_strings.spec.yaml @@ -2,25 +2,28 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' re_pattern ' +- source: re_pattern + scopes: + - variable.snake-case + - variable.other.unknown.re_pattern - source: '=' scopes: - keyword.operator.assignment - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw._r + - punctuation.definition.string._r.begin scopes: - meta.encoding - source: '"_r(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string._r.begin - source: '[0-9''"\+]+' - source: )_r" scopes: - - punctuation.definition.string.end + - punctuation.definition.string._r.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw._r - source: ; scopes: - punctuation.terminator.statement @@ -28,25 +31,28 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' re_pattern ' +- source: re_pattern + scopes: + - variable.snake-case + - variable.other.unknown.re_pattern - source: '=' scopes: - keyword.operator.assignment - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.re + - punctuation.definition.string.re.begin scopes: - meta.encoding - source: '"re(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.re.begin - source: '[0-9''"\+]+' - source: )re" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.re.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.re - source: ; scopes: - punctuation.terminator.statement @@ -54,25 +60,28 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' re_pattern ' +- source: re_pattern + scopes: + - variable.snake-case + - variable.other.unknown.re_pattern - source: '=' scopes: - keyword.operator.assignment - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.regex + - punctuation.definition.string.regex.begin scopes: - meta.encoding - source: '"regex(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.regex.begin - source: '[0-9''"\+]+' - source: )regex" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.regex.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.regex - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_thread_local.spec.yaml b/language_examples/feature_thread_local.spec.yaml index 1b13a13a..30b1c79e 100644 --- a/language_examples/feature_thread_local.spec.yaml +++ b/language_examples/feature_thread_local.spec.yaml @@ -23,7 +23,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -45,6 +45,7 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: thread_local @@ -52,22 +53,35 @@ - storage.modifier.specifier.thread_local - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bar ' +- source: bar + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' bar' +- source: bar + scopes: + - variable.lower-case + - variable.other.unknown.bar - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_trailing_return_types.spec.yaml b/language_examples/feature_trailing_return_types.spec.yaml index 932b4426..4f1ea454 100644 --- a/language_examples/feature_trailing_return_types.spec.yaml +++ b/language_examples/feature_trailing_return_types.spec.yaml @@ -127,7 +127,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Start_Value ' +- source: Start_Value + scopes: + - variable.snake-case + - variable.other.unknown.Start_Value - source: '=' scopes: - keyword.operator.assignment @@ -141,7 +144,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' End_Value ' +- source: End_Value + scopes: + - variable.snake-case + - variable.other.unknown.End_Value - source: '=' scopes: - keyword.operator.assignment @@ -167,7 +173,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Start_Value ' +- source: Start_Value + scopes: + - variable.snake-case + - variable.other.unknown.Start_Value - source: '=' scopes: - keyword.operator.assignment @@ -191,7 +200,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' End_Value ' +- source: End_Value + scopes: + - variable.snake-case + - variable.other.unknown.End_Value - source: '=' scopes: - keyword.operator.assignment @@ -218,29 +230,45 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment -- source: ' Start_Value' +- source: Start_Value + scopes: + - variable.snake-case + - variable.other.unknown.Start_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' End_Value ' +- source: End_Value + scopes: + - variable.snake-case + - variable.other.unknown.End_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -357,6 +385,8 @@ - source: a scopes: - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -374,6 +404,8 @@ - source: b scopes: - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -387,10 +419,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -400,7 +438,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndOfStream @@ -446,7 +484,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -522,7 +561,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -547,6 +589,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: MAX_N_SIZE + scopes: + - variable.upper-case + - variable.other.unknown.MAX_N_SIZE - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -554,6 +599,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: MAX_N_SIZE + scopes: + - variable.upper-case + - variable.other.unknown.MAX_N_SIZE - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -582,7 +630,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: U @@ -627,136 +675,266 @@ - source: double scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemIndex ' +- source: itemIndex + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' r' + scopesEnd: + - meta.assignment +- source: r + scopes: + - variable.lower-case + - variable.other.unknown.r + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemRelativeRank ' +- source: itemRelativeRank + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' s' + scopesEnd: + - meta.assignment +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' totalNumberOfItems ' +- source: totalNumberOfItems + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' n' + scopesEnd: + - meta.assignment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' nextItemIndex ' +- source: nextItemIndex + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' itemIndex ' + scopesEnd: + - meta.assignment +- source: itemIndex + scopes: + - variable.camel-case + - variable.other.unknown.itemIndex - source: + scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' numberOfRemainingItems ' +- source: numberOfRemainingItems + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' totalNumberOfItems ' + scopesEnd: + - meta.assignment +- source: totalNumberOfItems + scopes: + - variable.camel-case + - variable.other.unknown.totalNumberOfItems - source: '-' scopes: - keyword.operator.arithmetic -- source: ' itemIndex' +- source: itemIndex + scopes: + - variable.camel-case + - variable.other.unknown.itemIndex + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' probabilityOfBeingBetterThanCurrentItem ' +- source: probabilityOfBeingBetterThanCurrentItem + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'itemRelativeRank ' +- source: itemRelativeRank + scopes: + - variable.camel-case + - variable.other.unknown.itemRelativeRank - source: / scopes: - keyword.operator.arithmetic -- source: ' nextItemIndex' +- source: nextItemIndex + scopes: + - variable.camel-case + - variable.other.unknown.nextItemIndex - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' numberOfSeenItemsThatAreBetterThanCurrentItem ' +- source: numberOfSeenItemsThatAreBetterThanCurrentItem + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' itemRelativeRank ' + scopesEnd: + - meta.assignment +- source: itemRelativeRank + scopes: + - variable.camel-case + - variable.other.unknown.itemRelativeRank - source: '-' scopes: - keyword.operator.arithmetic - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' expectedAverageRank ' +- source: expectedAverageRank + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' numberOfRemainingItems ' + scopesEnd: + - meta.assignment +- source: numberOfRemainingItems + scopes: + - variable.camel-case + - variable.other.unknown.numberOfRemainingItems - source: '*' scopes: - keyword.operator.arithmetic -- source: ' probabilityOfBeingBetterThanCurrentItem ' +- source: probabilityOfBeingBetterThanCurrentItem + scopes: + - variable.camel-case + - variable.other.unknown.probabilityOfBeingBetterThanCurrentItem - source: + scopes: - keyword.operator.arithmetic -- source: ' numberOfSeenItemsThatAreBetterThanCurrentItem' +- source: numberOfSeenItemsThatAreBetterThanCurrentItem + scopes: + - variable.camel-case + - variable.other.unknown.numberOfSeenItemsThatAreBetterThanCurrentItem + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -776,7 +954,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expectedAverageRank ' +- source: expectedAverageRank + scopes: + - variable.camel-case + - variable.other.unknown.expectedAverageRank - source: '==' scopes: - keyword.operator.comparison @@ -793,7 +974,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' expectedAverageRank ' +- source: expectedAverageRank + scopes: + - variable.camel-case + - variable.other.unknown.expectedAverageRank - source: '=' scopes: - keyword.operator.assignment @@ -809,19 +993,32 @@ scopesEnd: - meta.block - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' expectedValue ' +- source: expectedValue + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'totalNumberOfItems ' +- source: totalNumberOfItems + scopes: + - variable.camel-case + - variable.other.unknown.totalNumberOfItems - source: + scopes: - keyword.operator.arithmetic @@ -836,14 +1033,22 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' expectedAverageRank' +- source: expectedAverageRank + scopes: + - variable.camel-case + - variable.other.unknown.expectedAverageRank + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' expectedValue' +- source: expectedValue + scopes: + - variable.camel-case + - variable.other.unknown.expectedValue - source: ; scopes: - punctuation.terminator.statement @@ -854,7 +1059,7 @@ - meta.body.function.definition - source: double scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: V @@ -906,74 +1111,147 @@ scopesEnd: - comment.line.double-slash - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemIndex ' +- source: itemIndex + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' r' + scopesEnd: + - meta.assignment +- source: r + scopes: + - variable.lower-case + - variable.other.unknown.r + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemRelativeRank ' +- source: itemRelativeRank + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' s' + scopesEnd: + - meta.assignment +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' totalNumberOfItems ' +- source: totalNumberOfItems + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' n' + scopesEnd: + - meta.assignment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' nextItemIndex ' +- source: nextItemIndex + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' itemIndex ' + scopesEnd: + - meta.assignment +- source: itemIndex + scopes: + - variable.camel-case + - variable.other.unknown.itemIndex - source: + scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' output ' +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' estimatedValueOfAccepting ' +- source: estimatedValueOfAccepting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfAccepting - source: '=' scopes: - keyword.operator.assignment @@ -983,7 +1261,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' estimatedValueOfRejecting ' +- source: estimatedValueOfRejecting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfRejecting - source: '=' scopes: - keyword.operator.assignment @@ -993,13 +1274,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' sum ' +- source: sum + scopes: + - variable.lower-case + - variable.other.unknown.sum - source: '=' scopes: - keyword.operator.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1019,11 +1305,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'itemIndex ' +- source: itemIndex + scopes: + - variable.camel-case + - variable.other.unknown.itemIndex - source: '>' scopes: - keyword.operator.comparison -- source: ' totalNumberOfItems' +- source: totalNumberOfItems + scopes: + - variable.camel-case + - variable.other.unknown.totalNumberOfItems - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1034,7 +1326,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -1083,6 +1378,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: r + scopes: + - variable.lower-case + - variable.other.unknown.r - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1090,6 +1388,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1131,6 +1432,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: r + scopes: + - variable.lower-case + - variable.other.unknown.r - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1138,6 +1442,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1151,24 +1458,36 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' estimatedValueOfAccepting ' +- source: estimatedValueOfAccepting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfAccepting - source: '=' scopes: - keyword.operator.assignment - source: U scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: r + scopes: + - variable.lower-case + - variable.other.unknown.r - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1188,11 +1507,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'itemIndex ' +- source: itemIndex + scopes: + - variable.camel-case + - variable.other.unknown.itemIndex - source: '==' scopes: - keyword.operator.comparison -- source: ' totalNumberOfItems' +- source: totalNumberOfItems + scopes: + - variable.camel-case + - variable.other.unknown.totalNumberOfItems - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1211,11 +1536,17 @@ - source: ' must pick the last item' scopesEnd: - comment.line.double-slash -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment -- source: ' estimatedValueOfAccepting' +- source: estimatedValueOfAccepting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfAccepting - source: ; scopes: - punctuation.terminator.statement @@ -1241,7 +1572,10 @@ - source: ' if there is a choice (if there are more items)' scopesEnd: - comment.line.double-slash -- source: ' sum ' +- source: sum + scopes: + - variable.lower-case + - variable.other.unknown.sum - source: '=' scopes: - keyword.operator.assignment @@ -1251,42 +1585,76 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopFrom_ ' +- source: LoopFrom_ + scopes: + - variable.snake-case + - variable.other.unknown.LoopFrom_ - source: '1' scopes: - constant.numeric.decimal -- source: ' _To_ nextItemIndex _Times' -- source: ' sum ' +- source: _To_ + scopes: + - variable.other.unknown._To_ +- source: nextItemIndex + scopes: + - variable.camel-case + - variable.other.unknown.nextItemIndex +- source: _Times + scopes: + - variable.other.unknown._Times +- source: sum + scopes: + - variable.lower-case + - variable.other.unknown.sum - source: += scopes: - keyword.operator.assignment.compound - source: V scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: nextItemIndex + scopes: + - variable.camel-case + - variable.other.unknown.nextItemIndex - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement -- source: ' EndLoop' -- source: ' estimatedValueOfRejecting ' +- source: EndLoop + scopes: + - variable.other.unknown.EndLoop +- source: estimatedValueOfRejecting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfRejecting - source: '=' scopes: - keyword.operator.assignment -- source: ' sum' +- source: sum + scopes: + - variable.lower-case + - variable.other.unknown.sum - source: / scopes: - keyword.operator.arithmetic - source: nextItemIndex + scopes: + - variable.camel-case + - variable.other.unknown.nextItemIndex - source: ; scopes: - punctuation.terminator.statement @@ -1298,7 +1666,10 @@ - source: ' return whichever is bigger' scopesEnd: - comment.line.double-slash -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -1307,11 +1678,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'estimatedValueOfRejecting ' +- source: estimatedValueOfRejecting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfRejecting - source: '>' scopes: - keyword.operator.comparison -- source: ' estimatedValueOfAccepting' +- source: estimatedValueOfAccepting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfAccepting - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1320,11 +1697,17 @@ - source: '?' scopes: - keyword.operator.ternary -- source: ' estimatedValueOfRejecting ' +- source: estimatedValueOfRejecting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfRejecting - source: ':' scopes: - keyword.operator.ternary -- source: ' estimatedValueOfAccepting' +- source: estimatedValueOfAccepting + scopes: + - variable.camel-case + - variable.other.unknown.estimatedValueOfAccepting - source: ; scopes: - punctuation.terminator.statement @@ -1351,6 +1734,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: r + scopes: + - variable.lower-case + - variable.other.unknown.r - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1358,6 +1744,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.lower-case + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1366,14 +1755,20 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -1384,7 +1779,7 @@ - meta.body.function.definition - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -1438,7 +1833,7 @@ - punctuation.definition.function.return-type - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '{' @@ -1462,7 +1857,8 @@ - keyword.operator.not - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -1493,49 +1889,101 @@ - source: ' reset the cache' scopesEnd: - comment.line.double-slash -- source: ' LoopFrom_ ' +- source: LoopFrom_ + scopes: + - variable.snake-case + - variable.other.unknown.LoopFrom_ - source: '1' scopes: - constant.numeric.decimal -- source: ' _To_ MAX_N_SIZE _Times' +- source: _To_ + scopes: + - variable.other.unknown._To_ +- source: MAX_N_SIZE + scopes: + - variable.upper-case + - variable.other.unknown.MAX_N_SIZE +- source: _Times + scopes: + - variable.other.unknown._Times - source: short + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' row ' +- source: row + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber' + scopesEnd: + - meta.assignment +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopFrom_ ' +- source: LoopFrom_ + scopes: + - variable.snake-case + - variable.other.unknown.LoopFrom_ - source: '1' scopes: - constant.numeric.decimal -- source: ' _To_ MAX_N_SIZE _Times' +- source: _To_ + scopes: + - variable.other.unknown._To_ +- source: MAX_N_SIZE + scopes: + - variable.upper-case + - variable.other.unknown.MAX_N_SIZE +- source: _Times + scopes: + - variable.other.unknown._Times - source: short + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' cell ' +- source: cell + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber' + scopesEnd: + - meta.assignment +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1548,6 +1996,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: row + scopes: + - variable.lower-case + - variable.other.unknown.row - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1555,6 +2006,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: cell + scopes: + - variable.lower-case + - variable.other.unknown.cell - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1569,26 +2023,41 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' EndLoop' -- source: ' EndLoop' -- source: ' cin ' +- source: EndLoop + scopesBegin: + - variable.other.unknown.EndLoop +- source: EndLoop + scopesEnd: + - variable.other.unknown.EndLoop +- source: cin + scopes: + - variable.lower-case + - variable.other.unknown.cin - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: V scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal @@ -1601,6 +2070,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/feature_typedef_alias.spec.yaml b/language_examples/feature_typedef_alias.spec.yaml index 0a548ae9..5ea0700c 100644 --- a/language_examples/feature_typedef_alias.spec.yaml +++ b/language_examples/feature_typedef_alias.spec.yaml @@ -129,7 +129,7 @@ - keyword.other.typedef - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( diff --git a/language_examples/macro_issue.spec.yaml b/language_examples/macro_issue.spec.yaml index 784a272d..ca0a960e 100644 --- a/language_examples/macro_issue.spec.yaml +++ b/language_examples/macro_issue.spec.yaml @@ -88,7 +88,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -127,6 +127,9 @@ scopes: - keyword.operator.arithmetic - source: func + scopes: + - variable.lower-case + - variable.other.unknown.func - source: ) scopes: - punctuation.section.arguments.end.bracket.round.initializer @@ -135,7 +138,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: Args... +- source: Args + scopes: + - variable.other.unknown.Args +- source: ... - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -175,10 +181,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -188,18 +199,29 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' DRIVEN_WHEEL_COUNT' +- source: DRIVEN_WHEEL_COUNT + scopes: + - variable.upper-case + - variable.other.unknown.DRIVEN_WHEEL_COUNT - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -224,6 +246,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -250,7 +275,11 @@ - source: ( scopes: - punctuation.section.parens.begin.bracket.round -- source: args... +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: ... - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -285,6 +314,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -311,7 +343,11 @@ - source: ( scopes: - punctuation.section.parens.begin.bracket.round -- source: args... +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: ... - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -360,10 +396,15 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Drivers + scopes: + - variable.other.unknown.Drivers - source: '*' scopes: - keyword.operator.arithmetic -- source: ' drivers' +- source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -375,6 +416,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -400,14 +444,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RAIL_WHEEL_ID' +- source: RAIL_WHEEL_ID + scopes: + - variable.upper-case + - variable.other.unknown.RAIL_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -449,14 +502,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_BACK_WHEEL_ID' +- source: LEFT_BACK_WHEEL_ID + scopes: + - variable.upper-case + - variable.other.unknown.LEFT_BACK_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -490,14 +552,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_FRONT_WHEEL_ID' +- source: LEFT_FRONT_WHEEL_ID + scopes: + - variable.upper-case + - variable.other.unknown.LEFT_FRONT_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -531,14 +602,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_FRONT_WHEEL_ID' +- source: RIGHT_FRONT_WHEEL_ID + scopes: + - variable.upper-case + - variable.other.unknown.RIGHT_FRONT_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -572,14 +652,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_BACK_WHEEL_ID' +- source: RIGHT_BACK_WHEEL_ID + scopes: + - variable.upper-case + - variable.other.unknown.RIGHT_BACK_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -625,14 +714,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_BACK_YAW_ID' +- source: LEFT_BACK_YAW_ID + scopes: + - variable.upper-case + - variable.other.unknown.LEFT_BACK_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -666,14 +764,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_FRONT_YAW_ID' +- source: LEFT_FRONT_YAW_ID + scopes: + - variable.upper-case + - variable.other.unknown.LEFT_FRONT_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -707,14 +814,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_FRONT_YAW_ID' +- source: RIGHT_FRONT_YAW_ID + scopes: + - variable.upper-case + - variable.other.unknown.RIGHT_FRONT_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -748,14 +864,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.lower-case + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_BACK_YAW_ID' +- source: RIGHT_BACK_YAW_ID + scopes: + - variable.upper-case + - variable.other.unknown.RIGHT_BACK_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.snake-case + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -818,14 +943,14 @@ - punctuation.separator.delimiter.comma.template.argument - source: DRIVEN_WHEEL_COUNT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: MOTORS_PER_WHEEL scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -869,7 +994,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: DJIMotor scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -879,14 +1004,14 @@ - punctuation.separator.delimiter.comma.template.argument - source: DRIVEN_WHEEL_COUNT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: MOTORS_PER_WHEEL scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -952,6 +1077,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: RAIL + scopes: + - variable.upper-case + - variable.other.unknown.RAIL - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -973,6 +1101,9 @@ scopes: - keyword.operator.bitwise - source: railWheel + scopes: + - variable.camel-case + - variable.other.unknown.railWheel - source: ; scopes: - punctuation.terminator.statement @@ -1001,6 +1132,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: LB + scopes: + - variable.upper-case + - variable.other.unknown.LB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1022,6 +1156,9 @@ scopes: - keyword.operator.bitwise - source: leftBackWheel + scopes: + - variable.camel-case + - variable.other.unknown.leftBackWheel - source: ; scopes: - punctuation.terminator.statement @@ -1034,6 +1171,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: LF + scopes: + - variable.upper-case + - variable.other.unknown.LF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1055,6 +1195,9 @@ scopes: - keyword.operator.bitwise - source: leftFrontWheel + scopes: + - variable.camel-case + - variable.other.unknown.leftFrontWheel - source: ; scopes: - punctuation.terminator.statement @@ -1067,6 +1210,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: RF + scopes: + - variable.upper-case + - variable.other.unknown.RF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1088,6 +1234,9 @@ scopes: - keyword.operator.bitwise - source: rightFrontWheel + scopes: + - variable.camel-case + - variable.other.unknown.rightFrontWheel - source: ; scopes: - punctuation.terminator.statement @@ -1100,6 +1249,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: RB + scopes: + - variable.upper-case + - variable.other.unknown.RB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1121,6 +1273,9 @@ scopes: - keyword.operator.bitwise - source: rightBackWheel + scopes: + - variable.camel-case + - variable.other.unknown.rightBackWheel - source: ; scopes: - punctuation.terminator.statement @@ -1166,6 +1321,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1209,6 +1365,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1241,11 +1398,17 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_LENGTH - source: ; scopes: - punctuation.terminator.statement @@ -1288,6 +1451,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1331,6 +1495,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1371,11 +1536,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_LENGTH - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1426,6 +1597,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1469,6 +1641,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1501,11 +1674,17 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_LENGTH - source: ; scopes: - punctuation.terminator.statement @@ -1548,6 +1727,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1591,6 +1771,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: ; scopes: @@ -1631,11 +1812,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.snake-case + - variable.other.unknown.WHEELBASE_LENGTH - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1675,6 +1862,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: LB + scopes: + - variable.upper-case + - variable.other.unknown.LB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1696,6 +1886,9 @@ scopes: - keyword.operator.bitwise - source: leftBackYaw + scopes: + - variable.camel-case + - variable.other.unknown.leftBackYaw - source: ; scopes: - punctuation.terminator.statement @@ -1708,6 +1901,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: LF + scopes: + - variable.upper-case + - variable.other.unknown.LF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1729,6 +1925,9 @@ scopes: - keyword.operator.bitwise - source: leftFrontYaw + scopes: + - variable.camel-case + - variable.other.unknown.leftFrontYaw - source: ; scopes: - punctuation.terminator.statement @@ -1741,6 +1940,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: RF + scopes: + - variable.upper-case + - variable.other.unknown.RF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1762,6 +1964,9 @@ scopes: - keyword.operator.bitwise - source: rightFrontYaw + scopes: + - variable.camel-case + - variable.other.unknown.rightFrontYaw - source: ; scopes: - punctuation.terminator.statement @@ -1774,6 +1979,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: RB + scopes: + - variable.upper-case + - variable.other.unknown.RB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1795,6 +2003,9 @@ scopes: - keyword.operator.bitwise - source: rightBackYaw + scopes: + - variable.camel-case + - variable.other.unknown.rightBackYaw - source: ; scopes: - punctuation.terminator.statement @@ -1819,7 +2030,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -1864,6 +2075,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: initialize + scopes: + - variable.lower-case + - variable.other.unknown.initialize - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1877,7 +2091,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -1919,7 +2133,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -1975,7 +2189,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -2031,7 +2245,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 504a1ece..150c909a 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -88,6 +88,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '0' scopes: @@ -103,6 +104,7 @@ - constant.numeric.decimal.point - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '0' scopes: @@ -112,6 +114,7 @@ - constant.numeric.decimal.point - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '0' scopes: @@ -121,12 +124,14 @@ - constant.numeric.decimal.point - source: LL scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '4897430' scopes: - constant.numeric.decimal - source: la scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '32094' scopes: @@ -139,12 +144,14 @@ - constant.numeric.decimal - source: a scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '4897430' scopes: - constant.numeric.decimal - source: LL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: '32094' scopes: @@ -157,6 +164,7 @@ - constant.numeric.decimal - source: F scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '32094' scopes: @@ -169,6 +177,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '1' scopesBegin: @@ -270,6 +279,7 @@ - constant.numeric.exponent.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: '1' scopes: @@ -537,6 +547,7 @@ - constant.numeric.exponent.hexadecimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -556,6 +567,7 @@ - constant.numeric.exponent.hexadecimal - source: l scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -565,6 +577,7 @@ - constant.numeric.hexadecimal - source: LL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: 0x scopes: @@ -634,6 +647,7 @@ - constant.numeric.hexadecimal - source: LL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: // scopesBegin: @@ -661,6 +675,7 @@ - constant.numeric.exponent.hexadecimal - source: F scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -680,6 +695,7 @@ - constant.numeric.exponent.hexadecimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -727,6 +743,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -746,6 +763,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -826,6 +844,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -848,6 +867,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -920,6 +940,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: // scopesBegin: @@ -934,6 +955,7 @@ - constant.numeric.decimal - source: ms scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: 0x scopes: @@ -943,6 +965,7 @@ - constant.numeric.hexadecimal - source: mm scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: 0x scopes: @@ -958,6 +981,7 @@ - constant.numeric.hexadecimal - source: mm scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: 0x scopes: @@ -967,18 +991,21 @@ - constant.numeric.hexadecimal - source: yards scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '20' scopes: - constant.numeric.decimal - source: ounces scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '2000' scopes: - constant.numeric.decimal - source: miles scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: L scopesBegin: @@ -1032,6 +1059,7 @@ - constant.numeric.hexadecimal - source: luyards scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '0' scopes: @@ -1052,12 +1080,14 @@ - constant.numeric.hexadecimal - source: x scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '1' scopes: - constant.numeric.decimal - source: Px scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: // scopesBegin: @@ -1125,7 +1155,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1168,7 +1201,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1189,7 +1225,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1210,7 +1249,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1259,7 +1301,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1269,7 +1314,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1298,6 +1346,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1314,6 +1365,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1323,6 +1376,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1351,6 +1407,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1383,7 +1442,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1393,7 +1455,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1422,6 +1487,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1438,6 +1506,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1447,6 +1517,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1475,6 +1548,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1505,7 +1581,10 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1513,7 +1592,10 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1596,7 +1678,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1628,7 +1713,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -1646,7 +1734,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -1675,7 +1763,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1687,6 +1775,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.snake-case + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1703,7 +1794,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'array ' +- source: array + scopes: + - variable.lower-case + - variable.other.unknown.array - source: '=' scopes: - keyword.operator.assignment @@ -1741,7 +1835,10 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' array' +- source: array + scopes: + - variable.lower-case + - variable.other.unknown.array - source: ; scopes: - punctuation.terminator.statement @@ -1749,7 +1846,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ; scopes: - punctuation.terminator.statement @@ -1757,7 +1856,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' deleter' +- source: deleter + scopes: + - variable.lower-case + - variable.other.unknown.deleter - source: ; scopes: - punctuation.terminator.statement @@ -1955,7 +2057,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __MAGIC__show @@ -2002,11 +2104,17 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2042,11 +2150,17 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2100,7 +2214,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2135,7 +2249,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2170,14 +2284,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2190,6 +2304,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: links_to + scopes: + - variable.snake-case + - variable.other.unknown.links_to - source: ; scopes: - punctuation.terminator.statement @@ -2204,6 +2321,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: ; scopes: - punctuation.terminator.statement @@ -2218,7 +2338,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2240,7 +2360,8 @@ - punctuation.definition.begin.bracket.square - source: input_event scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_event - source: . scopes: - punctuation.separator.dot-access @@ -2279,6 +2400,8 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2299,6 +2422,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.lower-case + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2338,6 +2464,8 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2358,6 +2486,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.lower-case + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2385,12 +2516,14 @@ - comment.line.double-slash - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: as scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2430,12 +2563,14 @@ - punctuation.terminator.statement - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: MV scopes: + - variable.upper-case - variable.other.object.property - source: . scopes: @@ -2475,7 +2610,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2487,7 +2623,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2499,7 +2636,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2511,7 +2649,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2523,12 +2662,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2541,12 +2682,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2559,12 +2702,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2577,12 +2722,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2595,12 +2742,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2613,12 +2762,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2631,12 +2782,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2649,12 +2802,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2667,7 +2822,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2692,7 +2848,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2717,7 +2874,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2742,7 +2900,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2767,7 +2926,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2798,7 +2958,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2829,7 +2990,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2860,7 +3022,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2891,7 +3054,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2909,7 +3073,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2927,7 +3092,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -2945,7 +3110,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2963,7 +3128,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2987,7 +3153,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3011,7 +3178,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3035,7 +3202,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3064,7 +3231,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3095,7 +3263,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3126,7 +3295,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3157,7 +3327,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3188,7 +3359,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3200,7 +3372,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3212,7 +3385,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3224,7 +3398,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3242,7 +3417,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3260,7 +3436,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3278,7 +3455,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3296,7 +3473,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3334,7 +3511,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3404,7 +3581,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3475,7 +3652,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3546,7 +3723,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3617,7 +3794,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3783,7 +3960,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -3956,7 +4133,10 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4035,7 +4215,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -4063,7 +4243,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4090,10 +4273,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4108,6 +4297,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4118,7 +4310,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4129,10 +4324,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4147,6 +4348,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4261,6 +4465,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopesBegin: - meta.template.call @@ -4334,7 +4541,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4430,6 +4637,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4449,7 +4659,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4545,6 +4755,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4564,7 +4777,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4631,7 +4844,7 @@ - meta.body.struct - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4761,7 +4974,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -4792,7 +5005,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -4833,34 +5046,64 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' used ' +- source: used + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static -- source: ' storage' +- source: storage + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' a_storage_of_callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: a_storage_of_callable + scopes: + - meta.declaration + - variable.other.unknown.a_storage_of_callable + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -4889,7 +5132,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -4917,6 +5160,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: used + scopes: + - variable.lower-case + - variable.other.unknown.used - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4929,12 +5175,13 @@ - punctuation.section.block.begin.bracket.curly - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access - source: callable scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -4970,7 +5217,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -4999,7 +5246,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5011,6 +5258,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.snake-case + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -5020,7 +5270,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' used ' +- source: used + scopes: + - variable.lower-case + - variable.other.unknown.used - source: '=' scopes: - keyword.operator.assignment @@ -5092,7 +5345,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5113,7 +5366,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5125,6 +5378,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.lower-case + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5199,7 +5455,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -5254,7 +5510,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: 'N' scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5276,7 +5532,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5288,6 +5544,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5300,6 +5559,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE + scopes: + - variable.snake-case + - variable.other.unknown.RETURN_TYPE - source: '*' scopes: - keyword.operator.arithmetic @@ -5383,16 +5645,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5479,16 +5753,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5546,7 +5832,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5590,7 +5876,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5634,7 +5920,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5678,7 +5964,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5744,7 +6030,7 @@ - storage.type.modifier.access.public - source: ClassA scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -5841,7 +6127,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -5852,7 +6138,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance @@ -5861,7 +6147,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -5872,7 +6158,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class @@ -5927,7 +6213,7 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -5960,21 +6246,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6004,7 +6290,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -6021,7 +6307,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -6172,7 +6458,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6215,7 +6501,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6227,7 +6513,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -6457,21 +6743,21 @@ - storage.type.modifier.access.private - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6481,21 +6767,21 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6505,14 +6791,14 @@ - storage.type.modifier.access.protected - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6575,7 +6861,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6585,7 +6871,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6620,7 +6906,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6630,7 +6916,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6685,7 +6971,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ToBinary scopesBegin: @@ -6749,6 +7035,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6790,7 +7079,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7211,7 +7503,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7247,7 +7542,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7327,7 +7625,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -7348,7 +7646,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7360,6 +7658,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.lower-case + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7592,7 +7893,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -7614,19 +7915,31 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' thing ' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: + scopes: - keyword.operator.arithmetic @@ -7644,6 +7957,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7675,6 +7990,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: test + scopes: + - variable.lower-case + - variable.other.unknown.test - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7756,6 +8074,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7839,7 +8160,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -7850,6 +8172,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7889,7 +8214,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -7951,7 +8277,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8013,7 +8340,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8075,7 +8403,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8137,7 +8466,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8199,7 +8529,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8261,7 +8592,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8323,7 +8655,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8385,7 +8718,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8447,7 +8781,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8507,7 +8842,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8558,7 +8896,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8609,7 +8950,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8639,11 +8983,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.lower-case + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: + scopes: - keyword.operator.arithmetic @@ -8670,12 +9020,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -8699,6 +9053,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8711,16 +9067,28 @@ scopesEnd: - meta.block - source: char32_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8733,26 +9101,43 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -8760,6 +9145,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8778,9 +9168,19 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -8799,13 +9199,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -8843,6 +9253,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8861,6 +9274,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -8869,6 +9285,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8884,6 +9302,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8904,10 +9325,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -8925,6 +9352,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_invalid_hex + scopes: + - variable.other.unknown.code_escape_sequence_invalid_hex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8937,13 +9366,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -8968,11 +9407,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8988,15 +9433,22 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '*' scopes: - keyword.operator.arithmetic @@ -9006,7 +9458,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -9023,7 +9478,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -9058,7 +9516,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9088,6 +9547,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9145,7 +9607,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9159,7 +9624,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9196,7 +9664,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9230,14 +9701,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9249,6 +9729,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_utf_code_point_invalid + scopes: + - variable.other.unknown.code_escape_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9269,13 +9751,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' encode_one ' +- source: encode_one + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -9324,7 +9816,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9361,7 +9854,10 @@ - source: '~' scopes: - keyword.operator.bitwise -- source: 'mask ' +- source: mask + scopes: + - variable.lower-case + - variable.other.unknown.mask - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -9386,11 +9882,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' shift' +- source: shift + scopes: + - variable.lower-case + - variable.other.unknown.shift - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9399,7 +9901,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' mask' +- source: mask + scopes: + - variable.lower-case + - variable.other.unknown.mask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9420,6 +9925,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -9432,7 +9938,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9495,7 +10004,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9582,7 +10094,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9796,7 +10311,10 @@ scopes: - keyword.control.default - source: ':' -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -9809,7 +10327,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 @@ -9845,7 +10363,7 @@ - support.other.attribute - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func2 @@ -9922,7 +10440,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func3 diff --git a/language_examples/misc_001.spec.yaml b/language_examples/misc_001.spec.yaml index dbcbb366..bc023397 100644 --- a/language_examples/misc_001.spec.yaml +++ b/language_examples/misc_001.spec.yaml @@ -82,6 +82,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: move + scopes: + - variable.lower-case + - variable.other.unknown.move - source: ; scopes: - punctuation.terminator.statement @@ -96,6 +99,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: ; scopes: - punctuation.terminator.statement @@ -110,6 +116,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: hash_combine + scopes: + - variable.snake-case + - variable.other.unknown.hash_combine - source: ; scopes: - punctuation.terminator.statement @@ -129,11 +138,16 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' Rule ' +- source: Rule + scopes: + - variable.other.unknown.Rule - source: '&' scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -144,7 +158,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'Blank{}' +- source: Blank + scopes: + - variable.other.unknown.Blank +- source: '{}' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -158,6 +175,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: BlankType + scopes: + - variable.other.unknown.BlankType - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -175,7 +194,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' other' +- source: other + scopes: + - variable.lower-case + - variable.other.unknown.other - source: ; scopes: - punctuation.terminator.statement @@ -191,7 +213,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: destroy_value @@ -239,7 +261,8 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: rule scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rule - source: '->' scopes: - punctuation.separator.pointer-access @@ -270,6 +293,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: BlankType + scopes: + - variable.other.unknown.BlankType - source: ':' scopes: - punctuation.separator.colon.case @@ -280,12 +305,14 @@ - keyword.control.return - source: rule scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rule - source: '->' scopes: - punctuation.separator.pointer-access - source: blank scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -318,7 +345,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -386,13 +413,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -414,6 +445,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -430,7 +464,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' BlankType' +- source: BlankType + scopes: + - variable.other.unknown.BlankType - source: ':' scopes: - punctuation.separator.colon.case @@ -449,6 +485,9 @@ scopes: - keyword.operator.bitwise - source: blank_ + scopes: + - variable.snake-case + - variable.other.unknown.blank_ - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -462,7 +501,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -486,7 +526,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' CharacterSetType' +- source: CharacterSetType + scopes: + - variable.other.unknown.CharacterSetType - source: ':' scopes: - punctuation.separator.colon.case @@ -505,6 +547,8 @@ scopes: - keyword.operator.bitwise - source: charater_set_ + scopes: + - variable.other.unknown.charater_set_ - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -518,7 +562,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index 34e6ba75..18ea7f71 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -1372,7 +1372,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ClearScreen @@ -1396,7 +1396,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: FlushCin scopesBegin: @@ -1419,7 +1419,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Pause @@ -1443,7 +1443,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: System @@ -1479,7 +1479,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1502,7 +1502,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1540,7 +1540,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1578,7 +1578,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1628,7 +1628,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamAsString scopesBegin: @@ -1666,7 +1666,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamStatus scopesBegin: @@ -1704,7 +1704,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -1739,7 +1739,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -1775,7 +1775,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -1811,7 +1811,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -1848,7 +1848,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__CharIn__String @@ -1894,7 +1894,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -1942,7 +1942,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -1978,7 +1978,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndProgram @@ -2002,7 +2002,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Poke @@ -2038,7 +2038,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2079,7 +2079,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: DidStreamFail @@ -2118,7 +2118,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndOfStream @@ -2157,7 +2157,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StreamMatchesString @@ -2224,7 +2224,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Type scopesBegin: @@ -2278,7 +2278,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AsString scopesBegin: @@ -2319,11 +2319,16 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' mutex_for_output ' +- source: mutex_for_output + scopes: + - variable.other.unknown.mutex_for_output - source: '=' scopes: - keyword.operator.assignment -- source: ' PTHREAD_MUTEX_INITIALIZER' +- source: PTHREAD_MUTEX_INITIALIZER + scopes: + - variable.upper-case + - variable.other.unknown.PTHREAD_MUTEX_INITIALIZER - source: ; scopes: - punctuation.terminator.statement @@ -2368,7 +2373,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Debugging ' +- source: Debugging + scopes: + - variable.other.unknown.Debugging - source: '=' scopes: - keyword.operator.assignment @@ -2399,9 +2406,20 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' string info' +- source: string scopesBegin: - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: info + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2436,13 +2454,19 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' info ' +- source: info scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.lower-case + - variable.other.unknown.info - source: '=' scopes: - keyword.operator.assignment -- source: ' input_error' +- source: input_error + scopes: + - variable.snake-case + - variable.other.unknown.input_error - source: ; scopes: - punctuation.terminator.statement @@ -2467,7 +2491,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2528,13 +2552,17 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_error scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_error - source: . scopes: - punctuation.separator.dot-access @@ -2555,7 +2583,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Error @@ -2597,7 +2625,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' input_error ' +- source: input_error + scopes: + - variable.snake-case + - variable.other.unknown.input_error - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2611,7 +2642,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: error @@ -2654,6 +2685,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_error + scopes: + - variable.snake-case + - variable.other.unknown.input_error - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2678,7 +2712,10 @@ - source: POKE scopes: - entity.name.function.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -2714,7 +2751,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' COUNTER ' +- source: COUNTER + scopes: + - variable.upper-case + - variable.other.unknown.COUNTER - source: '=' scopes: - keyword.operator.assignment @@ -2828,17 +2868,34 @@ scopesEnd: - meta.function.definition.special.constructor - source: decay_t + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: callable + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2902,7 +2959,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -2933,7 +2990,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -2974,34 +3031,64 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' used ' +- source: used + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static -- source: ' storage' +- source: storage + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' a_storage_of_callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: a_storage_of_callable + scopes: + - meta.declaration + - variable.other.unknown.a_storage_of_callable + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -3030,7 +3117,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -3058,6 +3145,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: used + scopes: + - variable.lower-case + - variable.other.unknown.used - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3070,12 +3160,13 @@ - punctuation.section.block.begin.bracket.curly - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access - source: callable scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -3111,7 +3202,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -3140,7 +3231,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3152,6 +3243,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.snake-case + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -3161,7 +3255,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' used ' +- source: used + scopes: + - variable.lower-case + - variable.other.unknown.used - source: '=' scopes: - keyword.operator.assignment @@ -3225,7 +3322,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -3246,7 +3343,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3258,6 +3355,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.lower-case + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3332,7 +3432,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -3387,7 +3487,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: 'N' scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3409,7 +3509,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3421,6 +3521,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3433,6 +3536,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE + scopes: + - variable.snake-case + - variable.other.unknown.RETURN_TYPE - source: '*' scopes: - keyword.operator.arithmetic @@ -3531,7 +3637,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3576,7 +3682,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3601,9 +3707,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' output_stream ' +- source: output_stream scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3630,10 +3739,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -3643,13 +3756,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -3665,10 +3781,14 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3679,7 +3799,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3692,6 +3815,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -3728,7 +3853,10 @@ - source: return scopes: - keyword.control.return -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3776,7 +3904,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3818,7 +3946,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3843,9 +3971,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' input_ ' +- source: input_ scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: '=' scopes: - keyword.operator.assignment @@ -3862,15 +3993,35 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYTYPE element_holder' +- source: ANYTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: element_holder + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -3882,11 +4033,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'input_stream ' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' element_holder' +- source: element_holder + scopes: + - variable.snake-case + - variable.other.unknown.element_holder - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3899,7 +4056,8 @@ - punctuation.section.block.begin.bracket.curly - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -3910,6 +4068,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: element_holder + scopes: + - variable.snake-case + - variable.other.unknown.element_holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3918,7 +4079,8 @@ - punctuation.terminator.statement - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -3929,6 +4091,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3943,7 +4107,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'should_always_be_a_newline ' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: '!=' scopes: - keyword.operator.comparison @@ -3975,6 +4141,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3989,7 +4158,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -4030,7 +4202,7 @@ - source: vector scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4040,13 +4212,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -4076,7 +4248,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4105,7 +4277,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4130,27 +4302,52 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vec3 ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: vec3 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' vec1' + scopesEnd: + - meta.assignment +- source: vec1 + scopes: + - variable.lower-case + - variable.other.unknown.vec1 + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vec3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec3 - source: . scopes: - punctuation.separator.dot-access @@ -4162,7 +4359,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vec1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec1 - source: . scopes: - punctuation.separator.dot-access @@ -4180,7 +4378,8 @@ - keyword.operator.arithmetic - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4207,11 +4406,24 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' ANYTYPE each ' +- source: ANYTYPE + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - entity.name.type +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' vec2 ' +- source: vec2 + scopes: + - variable.lower-case + - variable.other.unknown.vec2 + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4219,7 +4431,8 @@ - meta.parens - source: vec3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec3 - source: . scopes: - punctuation.separator.dot-access @@ -4230,6 +4443,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4239,7 +4455,10 @@ - source: return scopes: - keyword.control.return -- source: ' vec3' +- source: vec3 + scopes: + - variable.lower-case + - variable.other.unknown.vec3 - source: ; scopes: - punctuation.terminator.statement @@ -4272,7 +4491,7 @@ - source: vector scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4282,13 +4501,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -4318,7 +4537,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4355,27 +4574,52 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vec2 ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: vec2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' vec1' + scopesEnd: + - meta.assignment +- source: vec1 + scopes: + - variable.lower-case + - variable.other.unknown.vec1 + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4386,6 +4630,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4395,7 +4642,10 @@ - source: return scopes: - keyword.control.return -- source: ' vec2' +- source: vec2 + scopes: + - variable.lower-case + - variable.other.unknown.vec2 - source: ; scopes: - punctuation.terminator.statement @@ -4428,7 +4678,7 @@ - source: vector scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4438,13 +4688,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -4486,7 +4736,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4511,27 +4761,52 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vec2 ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: vec2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' vec1' + scopesEnd: + - meta.assignment +- source: vec1 + scopes: + - variable.lower-case + - variable.other.unknown.vec1 + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4543,7 +4818,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4560,6 +4836,9 @@ scopes: - punctuation.separator.delimiter.comma - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4569,7 +4848,10 @@ - source: return scopes: - keyword.control.return -- source: ' vec2' +- source: vec2 + scopes: + - variable.lower-case + - variable.other.unknown.vec2 - source: ; scopes: - punctuation.terminator.statement @@ -4620,7 +4902,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -4665,14 +4947,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4702,13 +4984,17 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -4734,7 +5020,8 @@ - keyword.operator.bitwise.shift - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -4783,7 +5070,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -4828,14 +5115,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4870,23 +5157,46 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' pair' +- source: pair + scopesBegin: + - meta.parens.control.for + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' ANYTYPE' + - punctuation.separator.delimiter.comma.template.argument +- source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' each ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_map ' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4897,11 +5207,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each ' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4929,7 +5245,10 @@ - source: return scopes: - keyword.control.return -- source: ' output_stream' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: ; scopes: - punctuation.terminator.statement @@ -4972,7 +5291,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -5014,14 +5333,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5049,40 +5368,83 @@ - source: char scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_colon' +- source: should_always_be_a_colon + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_colon + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYTYPE first_value' +- source: ANYTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: first_value + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYSECONDTYPE second_value' +- source: ANYSECONDTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: second_value + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' input_stream ' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' first_value ' +- source: first_value + scopes: + - variable.snake-case + - variable.other.unknown.first_value - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' should_always_be_a_colon ' +- source: should_always_be_a_colon + scopes: + - variable.other.unknown.should_always_be_a_colon - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' second_value' +- source: second_value + scopes: + - variable.snake-case + - variable.other.unknown.second_value - source: ; scopes: - punctuation.terminator.statement - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -5092,13 +5454,17 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' second_value' +- source: second_value + scopes: + - variable.snake-case + - variable.other.unknown.second_value - source: ; scopes: - punctuation.terminator.statement - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -5108,14 +5474,20 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' first_value' +- source: first_value + scopes: + - variable.snake-case + - variable.other.unknown.first_value - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -5158,7 +5530,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -5200,14 +5572,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5236,7 +5608,8 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_map - source: . scopes: - punctuation.separator.dot-access @@ -5252,27 +5625,57 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' pair' +- source: pair + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' pair_holder' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: pair_holder + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -5284,11 +5687,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'input_stream ' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' pair_holder' +- source: pair_holder + scopes: + - variable.snake-case + - variable.other.unknown.pair_holder - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5309,7 +5718,8 @@ - punctuation.definition.begin.bracket.square - source: pair_holder scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.pair_holder - source: . scopes: - punctuation.separator.dot-access @@ -5326,7 +5736,8 @@ - keyword.operator.assignment - source: pair_holder scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.pair_holder - source: . scopes: - punctuation.separator.dot-access @@ -5338,7 +5749,8 @@ - punctuation.terminator.statement - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -5349,6 +5761,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -5363,7 +5777,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'should_always_be_a_newline ' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: '!=' scopes: - keyword.operator.comparison @@ -5395,6 +5811,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5409,7 +5828,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -5443,7 +5865,10 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' INDENT_SIZE ' +- source: INDENT_SIZE + scopes: + - variable.snake-case + - variable.other.unknown.INDENT_SIZE - source: '=' scopes: - keyword.operator.assignment @@ -5453,11 +5878,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string' +- source: string + scopes: + - variable.lower-case + - variable.other.unknown.string - source: const scopes: - storage.modifier.specifier.const -- source: ' INDENT ' +- source: INDENT + scopes: + - variable.upper-case + - variable.other.unknown.INDENT - source: '=' scopes: - keyword.operator.assignment @@ -5468,6 +5899,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: INDENT_SIZE + scopes: + - variable.snake-case + - variable.other.unknown.INDENT_SIZE - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5518,7 +5952,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Indent scopesBegin: @@ -5548,33 +5982,77 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream a_stream' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: a_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' a_stream ' +- source: a_stream + scopes: + - variable.snake-case + - variable.other.unknown.a_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a_char' +- source: a_char + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_string ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' INDENT' + scopesEnd: + - meta.assignment +- source: INDENT + scopes: + - variable.upper-case + - variable.other.unknown.INDENT + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5588,7 +6066,8 @@ - punctuation.section.parens.begin.bracket.round - source: a_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_stream - source: . scopes: - punctuation.separator.dot-access @@ -5599,6 +6078,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: a_char + scopes: + - variable.snake-case + - variable.other.unknown.a_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -5620,7 +6102,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'a_char ' +- source: a_char + scopes: + - variable.snake-case + - variable.other.unknown.a_char - source: '==' scopes: - keyword.operator.comparison @@ -5647,11 +6132,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -5671,7 +6162,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' INDENT' +- source: INDENT + scopes: + - variable.upper-case + - variable.other.unknown.INDENT - source: ; scopes: - punctuation.terminator.statement @@ -5683,15 +6177,24 @@ - source: else scopes: - keyword.control.else -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic -- source: ' a_char' +- source: a_char + scopes: + - variable.snake-case + - variable.other.unknown.a_char - source: ; scopes: - punctuation.terminator.statement @@ -5703,7 +6206,10 @@ - source: return scopes: - keyword.control.return -- source: ' output_string' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ; scopes: - punctuation.terminator.statement @@ -5714,7 +6220,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Indent scopesBegin: @@ -5747,12 +6253,24 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: StreamAsString scopes: - entity.name.function.call @@ -5760,9 +6278,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5776,6 +6299,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5789,7 +6315,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Indent scopesBegin: @@ -5822,12 +6348,24 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: StreamAsString scopes: - entity.name.function.call @@ -5835,9 +6373,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5851,6 +6394,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5883,7 +6429,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Input_Unindent scopesBegin: @@ -5919,16 +6465,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5941,12 +6498,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -5968,17 +6531,39 @@ scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_holder' +- source: char_holder + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' string unindented_stuff ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: unindented_stuff + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -5988,6 +6573,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -6031,7 +6617,8 @@ - comment.line.double-slash - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -6042,6 +6629,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_holder + scopes: + - variable.snake-case + - variable.other.unknown.char_holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -6066,7 +6656,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -6098,12 +6689,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6145,7 +6742,8 @@ - comment.line.double-slash - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -6170,12 +6768,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6200,6 +6804,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: char_holder + scopes: + - variable.snake-case + - variable.other.unknown.char_holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6238,7 +6845,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_holder ' +- source: char_holder + scopes: + - variable.snake-case + - variable.other.unknown.char_holder - source: '!=' scopes: - keyword.operator.comparison @@ -6271,12 +6881,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6346,10 +6962,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' INDENT' +- source: INDENT + scopes: + - variable.upper-case + - variable.other.unknown.INDENT - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6372,12 +6994,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6407,12 +7035,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6430,7 +7064,10 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' COUNTER ' +- source: COUNTER + scopes: + - variable.upper-case + - variable.other.unknown.COUNTER - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6479,10 +7116,23 @@ - source: ' put the whole line into a string' scopesEnd: - comment.line.double-slash -- source: ' string next_line ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: next_line + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: EverythingUpTo scopes: - entity.name.function.call @@ -6506,9 +7156,14 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6538,7 +7193,8 @@ - punctuation.definition.begin.bracket.square - source: next_line scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.next_line - source: . scopes: - punctuation.separator.dot-access @@ -6597,12 +7253,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6632,12 +7294,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6665,6 +7333,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: next_line + scopes: + - variable.snake-case + - variable.other.unknown.next_line - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6692,11 +7363,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' unindented_stuff ' +- source: unindented_stuff + scopes: + - variable.snake-case + - variable.other.unknown.unindented_stuff - source: += scopes: - keyword.operator.assignment.compound -- source: ' next_line' +- source: next_line + scopes: + - variable.snake-case + - variable.other.unknown.next_line - source: ; scopes: - punctuation.terminator.statement @@ -6708,7 +7385,10 @@ - source: return scopes: - keyword.control.return -- source: ' unindented_stuff' +- source: unindented_stuff + scopes: + - variable.snake-case + - variable.other.unknown.unindented_stuff - source: ; scopes: - punctuation.terminator.statement @@ -6730,7 +7410,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Rand @@ -6801,7 +7481,7 @@ - meta.body.function.definition - source: float scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Randn @@ -6874,7 +7554,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' Pi ' +- source: Pi + scopes: + - variable.other.unknown.Pi - source: '*' scopes: - keyword.operator.arithmetic @@ -6910,12 +7592,12 @@ - source: long scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: long scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: CurrentTimeInMicroSeconds @@ -6937,14 +7619,22 @@ - source: struct scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type scopes: - - storage.type.struct.declare + - storage.type.struct - source: timeval scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified-type - source: a_time scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -6958,6 +7648,9 @@ scopes: - keyword.operator.bitwise - source: a_time + scopes: + - variable.snake-case + - variable.other.unknown.a_time - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6975,7 +7668,8 @@ - keyword.control.return - source: a_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_time - source: . scopes: - punctuation.separator.dot-access @@ -6993,7 +7687,8 @@ - keyword.operator.arithmetic - source: a_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_time - source: . scopes: - punctuation.separator.dot-access @@ -7010,7 +7705,7 @@ - meta.body.function.definition - source: long scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: NumberOfMicrosecondsBetween @@ -7065,16 +7760,26 @@ - source: long scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' seconds ' +- source: seconds + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: end_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.end_time - source: . scopes: - punctuation.separator.dot-access @@ -7086,27 +7791,41 @@ - keyword.operator.arithmetic - source: start_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.start_time - source: . scopes: - punctuation.separator.dot-access - source: tv_sec scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: long + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' micro_seconds ' +- source: micro_seconds + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: end_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.end_time - source: . scopes: - punctuation.separator.dot-access @@ -7118,13 +7837,16 @@ - keyword.operator.arithmetic - source: start_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.start_time - source: . scopes: - punctuation.separator.dot-access - source: tv_usec scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7136,7 +7858,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'micro_seconds ' +- source: micro_seconds + scopes: + - variable.snake-case + - variable.other.unknown.micro_seconds - source: < scopes: - keyword.operator.comparison @@ -7153,7 +7878,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' micro_seconds ' +- source: micro_seconds + scopes: + - variable.snake-case + - variable.other.unknown.micro_seconds - source: += scopes: - keyword.operator.assignment.compound @@ -7183,7 +7911,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' seconds' +- source: seconds + scopes: + - variable.lower-case + - variable.other.unknown.seconds - source: '--' scopes: - keyword.operator.decrement @@ -7203,7 +7934,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'seconds ' +- source: seconds + scopes: + - variable.lower-case + - variable.other.unknown.seconds - source: '*' scopes: - keyword.operator.arithmetic @@ -7213,7 +7947,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' micro_seconds' +- source: micro_seconds + scopes: + - variable.snake-case + - variable.other.unknown.micro_seconds - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7229,7 +7966,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BriefDelay @@ -7281,7 +8018,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BriefDelay @@ -7346,7 +8083,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'seconds_ ' +- source: seconds_ + scopes: + - variable.snake-case + - variable.other.unknown.seconds_ - source: '*' scopes: - keyword.operator.arithmetic @@ -7374,7 +8114,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: LittleRandomDelay @@ -7432,7 +8172,7 @@ - storage.modifier.const - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: currentDateTime scopesBegin: @@ -7480,13 +8220,23 @@ scopesEnd: - comment.line.double-slash - source: time_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' now ' +- source: now + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: time scopes: - entity.name.function.call @@ -7499,31 +8249,47 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: struct + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - - storage.type.struct.declare + - storage.type.struct - source: tm scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified-type - source: tstruct scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: buf - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '80' @@ -7533,11 +8299,15 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement -- source: ' tstruct ' +- source: tstruct + scopes: + - variable.lower-case + - variable.other.unknown.tstruct - source: '=' scopes: - keyword.operator.assignment @@ -7554,6 +8324,9 @@ scopes: - keyword.operator.bitwise - source: now + scopes: + - variable.lower-case + - variable.other.unknown.now - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7579,6 +8352,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7592,6 +8368,8 @@ - source: buf scopes: - meta.arguments.operator.sizeof + - variable.lower-case + - variable.other.unknown.buf - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -7622,6 +8400,9 @@ scopes: - keyword.operator.bitwise - source: tstruct + scopes: + - variable.lower-case + - variable.other.unknown.tstruct - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7631,7 +8412,10 @@ - source: return scopes: - keyword.control.return -- source: ' buf' +- source: buf + scopes: + - variable.lower-case + - variable.other.unknown.buf - source: ; scopes: - punctuation.terminator.statement @@ -7676,7 +8460,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: FlushStream scopesBegin: @@ -7699,7 +8483,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7779,13 +8563,27 @@ - source: ' #include ' scopesEnd: - comment.line.double-slash -- source: ' streamsize num_of_chars_discarded ' +- source: streamsize + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: num_of_chars_discarded + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.num_of_chars_discarded - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7797,7 +8595,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' always_discard ' +- source: always_discard + scopes: + - variable.snake-case + - variable.other.unknown.always_discard - source: '||' scopes: - keyword.operator.logical @@ -7808,7 +8609,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -7847,7 +8649,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7873,7 +8675,8 @@ - keyword.operator.logical - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -7891,7 +8694,8 @@ - keyword.operator.comparison - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -7946,7 +8750,8 @@ - comment.line.double-slash - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -7967,7 +8772,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7993,7 +8798,8 @@ - punctuation.separator.delimiter.comma - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8025,13 +8831,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' num_of_chars_discarded ' +- source: num_of_chars_discarded + scopes: + - variable.other.unknown.num_of_chars_discarded - source: '=' scopes: - keyword.operator.assignment - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8055,7 +8864,9 @@ - source: return scopes: - keyword.control.return -- source: ' num_of_chars_discarded' +- source: num_of_chars_discarded + scopes: + - variable.other.unknown.num_of_chars_discarded - source: ; scopes: - punctuation.terminator.statement @@ -8066,7 +8877,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ClearScreen @@ -8085,9 +8896,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8127,7 +8941,7 @@ - meta.body.function.definition - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: FlushCin scopesBegin: @@ -8156,7 +8970,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' cin ' +- source: cin + scopes: + - variable.lower-case + - variable.other.unknown.cin - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8170,7 +8987,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8188,9 +9005,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string input_data' +- source: string scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: input_data + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -8213,10 +9041,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cin + scopes: + - variable.lower-case + - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_data' +- source: input_data + scopes: + - variable.snake-case + - variable.other.unknown.input_data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8226,7 +9060,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_data' +- source: input_data + scopes: + - variable.snake-case + - variable.other.unknown.input_data - source: ; scopes: - punctuation.terminator.statement @@ -8237,7 +9074,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8291,10 +9128,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cin + scopes: + - variable.lower-case + - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8304,7 +9147,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement @@ -8315,7 +9161,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8348,9 +9194,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string input_string' +- source: string scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: input_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -8373,10 +9230,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8386,7 +9249,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement @@ -8397,7 +9263,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8463,10 +9329,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8476,7 +9348,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement @@ -8487,7 +9362,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Pause @@ -8532,6 +9407,9 @@ scopes: - keyword.operator.logical - source: cin + scopes: + - variable.lower-case + - variable.other.unknown.cin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8539,7 +9417,8 @@ - meta.parens - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -8557,7 +9436,8 @@ - punctuation.terminator.statement - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -8580,7 +9460,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BackSpace @@ -8622,11 +9502,16 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_of_places ' +- source: number_of_places + scopes: + - variable.other.unknown.number_of_places - source: ; scopes: - punctuation.terminator.statement @@ -8639,10 +9524,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -8652,18 +9541,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8674,7 +9572,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8694,7 +9595,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8711,7 +9615,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8733,7 +9640,8 @@ - punctuation.terminator.statement - source: cout scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cout - source: . scopes: - punctuation.separator.dot-access @@ -8778,7 +9686,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: TypeOut @@ -8819,13 +9727,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_string ' +- source: input_string scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_string - source: . scopes: - punctuation.separator.dot-access @@ -8850,10 +9762,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -8863,18 +9779,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8889,11 +9814,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachChar ' +- source: EachChar + scopes: + - variable.other.unknown.EachChar - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -8905,7 +9834,8 @@ - punctuation.terminator.statement - source: cout scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cout - source: . scopes: - punctuation.separator.dot-access @@ -8921,7 +9851,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8933,7 +9866,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: "\_EachChar " +- source: EachChar + scopes: + - variable.other.unknown.EachChar - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -8944,7 +9879,8 @@ - punctuation.terminator.statement - source: cout scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cout - source: . scopes: - punctuation.separator.dot-access @@ -9015,7 +9951,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamAsString scopesBegin: @@ -9048,17 +9984,37 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_char' +- source: each_char + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -9072,7 +10028,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9083,6 +10040,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9091,21 +10051,41 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each_char' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_str ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output_str + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -9118,13 +10098,18 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' output_str' +- source: output_str + scopes: + - variable.snake-case + - variable.other.unknown.output_str - source: ; scopes: - punctuation.terminator.statement @@ -9135,7 +10120,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamStatus scopesBegin: @@ -9168,9 +10153,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output' +- source: string scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -9192,7 +10188,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9210,7 +10207,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9234,7 +10234,10 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9273,7 +10276,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9291,7 +10295,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9315,7 +10322,10 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9354,7 +10364,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9372,7 +10383,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9396,7 +10410,10 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9435,7 +10452,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9453,7 +10471,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9477,7 +10498,10 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9501,7 +10525,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -9512,7 +10539,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9552,7 +10579,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -9570,7 +10598,8 @@ - punctuation.terminator.statement - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -9588,6 +10617,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: failbit + scopes: + - variable.lower-case + - variable.other.unknown.failbit - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9597,7 +10629,10 @@ - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.snake-case + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -9608,7 +10643,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: DidStreamFail @@ -9654,7 +10689,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -9704,7 +10740,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -9748,7 +10785,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndOfStream @@ -9794,7 +10831,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -9837,7 +10875,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StreamMatchesString @@ -9883,10 +10921,18 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_' +- source: char_ + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -9899,13 +10945,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: input_string scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_string - source: . scopes: - punctuation.separator.dot-access @@ -9930,10 +10980,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -9943,18 +10997,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9991,7 +11054,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10002,6 +11066,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10040,7 +11107,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' char_ ' +- source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: '!=' scopes: - keyword.operator.comparison @@ -10053,6 +11123,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -10104,7 +11176,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -10150,14 +11222,34 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_' +- source: char_ + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' string output' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10171,7 +11263,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10182,6 +11275,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10195,15 +11291,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: + scopes: - keyword.operator.arithmetic -- source: ' char_ ' +- source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: ; scopes: - punctuation.terminator.statement @@ -10215,11 +11320,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_ ' +- source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: '==' scopes: - keyword.operator.comparison -- source: ' end_symbol' +- source: end_symbol + scopes: + - variable.snake-case + - variable.other.unknown.end_symbol - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10228,7 +11339,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10240,7 +11354,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10251,7 +11368,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -10285,14 +11402,34 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_' +- source: char_ + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' string output' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10306,7 +11443,8 @@ - punctuation.section.parens.begin.bracket.round - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -10317,6 +11455,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10330,15 +11471,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: + scopes: - keyword.operator.arithmetic -- source: ' char_ ' +- source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: ; scopes: - punctuation.terminator.statement @@ -10350,11 +11500,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_ ' +- source: char_ + scopes: + - variable.snake-case + - variable.other.unknown.char_ - source: '==' scopes: - keyword.operator.comparison -- source: ' end_symbol' +- source: end_symbol + scopes: + - variable.snake-case + - variable.other.unknown.end_symbol - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10363,7 +11519,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10375,7 +11534,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10397,7 +11559,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: System @@ -10431,22 +11593,31 @@ - source: const scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' conv_my_str ' + - storage.modifier.pointer +- source: conv_my_str + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.conv_my_str - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: input_string scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_string - source: . scopes: - punctuation.separator.dot-access @@ -10459,6 +11630,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10469,6 +11642,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: conv_my_str + scopes: + - variable.other.unknown.conv_my_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10482,7 +11657,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndProgram @@ -10510,7 +11685,10 @@ - source: ' save a success log' scopesEnd: - comment.line.double-slash -- source: ' ofstream' +- source: ofstream + scopes: + - meta.qualified-type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -10534,7 +11712,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' the_file_stream ' +- source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10554,7 +11734,7 @@ - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -10578,7 +11758,10 @@ - source: ' press enter to exit' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10636,7 +11819,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Poke @@ -10667,9 +11850,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10687,7 +11873,10 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' id_ ' +- source: id_ + scopes: + - variable.snake-case + - variable.other.unknown.id_ - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10737,7 +11926,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -10798,9 +11987,20 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10813,10 +12013,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -10826,35 +12031,55 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' repetitions' +- source: repetitions + scopes: + - variable.lower-case + - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound -- source: ' base' +- source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -10866,7 +12091,7 @@ - meta.body.function.definition.special.operator-overload - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -10927,9 +12152,20 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10942,10 +12178,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -10955,35 +12196,55 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' repetitions' +- source: repetitions + scopes: + - variable.lower-case + - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound -- source: ' base' +- source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -10998,7 +12259,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Substring scopesBegin: @@ -11058,7 +12319,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -11070,13 +12334,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11092,7 +12360,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -11107,13 +12378,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11131,13 +12406,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11161,7 +12440,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: < scopes: - keyword.operator.comparison @@ -11173,13 +12455,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11195,7 +12481,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement @@ -11210,13 +12499,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11234,13 +12527,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11264,11 +12561,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11280,30 +12583,57 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' swap ' +- source: swap + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' start' + scopesEnd: + - meta.assignment +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment -- source: ' swap' +- source: swap + scopes: + - variable.lower-case + - variable.other.unknown.swap - source: ; scopes: - punctuation.terminator.statement @@ -11317,7 +12647,8 @@ - keyword.control.return - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11328,14 +12659,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '-' scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11349,7 +12689,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Substring scopesBegin: @@ -11401,16 +12741,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11436,7 +12783,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Join scopesBegin: @@ -11459,7 +12806,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -11489,9 +12836,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -11504,10 +12862,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -11517,13 +12880,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11545,16 +12912,24 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound @@ -11567,6 +12942,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11575,11 +12953,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' delimiter' +- source: delimiter + scopes: + - variable.lower-case + - variable.other.unknown.delimiter - source: ; scopes: - punctuation.terminator.statement -- source: ' result ' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound @@ -11593,7 +12977,8 @@ - punctuation.definition.begin.bracket.square - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11623,7 +13008,10 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -11634,7 +13022,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Join scopesBegin: @@ -11657,7 +13045,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -11700,6 +13088,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11715,7 +13106,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' delimiter' +- source: delimiter + scopes: + - variable.lower-case + - variable.other.unknown.delimiter - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -11732,7 +13126,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -11783,20 +13177,43 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' string current' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: current + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -11808,13 +13225,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: <= scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11832,7 +13253,8 @@ - keyword.operator.arithmetic - source: oldstring scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.oldstring - source: . scopes: - punctuation.separator.dot-access @@ -11865,7 +13287,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11876,12 +13299,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: oldstring scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.oldstring - source: . scopes: - punctuation.separator.dot-access @@ -11900,7 +13327,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' oldstring' +- source: oldstring + scopes: + - variable.lower-case + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11911,21 +13341,31 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' current ' +- source: current + scopes: + - variable.lower-case + - variable.other.unknown.current - source: += scopes: - keyword.operator.assignment.compound -- source: ' newstring' +- source: newstring + scopes: + - variable.lower-case + - variable.other.unknown.newstring - source: ; scopes: - punctuation.terminator.statement -- source: ' index ' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: += scopes: - keyword.operator.assignment.compound - source: oldstring scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.oldstring - source: . scopes: - punctuation.separator.dot-access @@ -11952,7 +13392,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' current ' +- source: current + scopes: + - variable.lower-case + - variable.other.unknown.current - source: += scopes: - keyword.operator.assignment.compound @@ -11965,6 +13408,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11973,7 +13419,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -11988,7 +13437,10 @@ - source: return scopes: - keyword.control.return -- source: ' current' +- source: current + scopes: + - variable.lower-case + - variable.other.unknown.current - source: ; scopes: - punctuation.terminator.statement @@ -11999,7 +13451,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12060,6 +13512,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12075,14 +13530,20 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.lower-case + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' newstring' +- source: newstring + scopes: + - variable.lower-case + - variable.other.unknown.newstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12096,7 +13557,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12157,10 +13618,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.lower-case + - variable.other.unknown.oldstring - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12176,7 +13643,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' newstring' +- source: newstring + scopes: + - variable.lower-case + - variable.other.unknown.newstring - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -12193,7 +13663,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12255,6 +13725,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12270,7 +13743,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.lower-case + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12289,7 +13765,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' newstring' +- source: newstring + scopes: + - variable.lower-case + - variable.other.unknown.newstring - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -12306,7 +13785,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12357,10 +13836,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.lower-case + - variable.other.unknown.oldstring - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12387,7 +13872,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12439,6 +13924,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12454,7 +13942,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.lower-case + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12484,7 +13975,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Strip scopesBegin: @@ -12548,7 +14039,8 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -12599,19 +14091,31 @@ scopesEnd: - meta.block - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' num_front ' +- source: num_front + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '-' scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12625,7 +14129,8 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -12639,13 +14144,19 @@ scopes: - keyword.operator.increment - source: num_front + scopes: + - variable.snake-case + - variable.other.unknown.num_front - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' junk' +- source: junk + scopes: + - variable.lower-case + - variable.other.unknown.junk - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12662,16 +14173,27 @@ scopesEnd: - meta.block - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' num_end ' +- source: num_end + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -12684,6 +14206,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12697,7 +14221,8 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -12711,13 +14236,19 @@ scopes: - keyword.operator.decrement - source: num_end + scopes: + - variable.snake-case + - variable.other.unknown.num_end - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' junk' +- source: junk + scopes: + - variable.lower-case + - variable.other.unknown.junk - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12738,7 +14269,8 @@ - keyword.control.return - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -12749,6 +14281,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: num_front + scopes: + - variable.snake-case + - variable.other.unknown.num_front - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12758,11 +14293,17 @@ - source: + scopes: - keyword.operator.arithmetic -- source: 'num_end ' +- source: num_end + scopes: + - variable.snake-case + - variable.other.unknown.num_end - source: '-' scopes: - keyword.operator.arithmetic -- source: ' num_front' +- source: num_front + scopes: + - variable.snake-case + - variable.other.unknown.num_front - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12776,7 +14317,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: GetWhileIncluded scopesBegin: @@ -12815,12 +14356,24 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -12830,6 +14383,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -12843,14 +14397,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12884,10 +14448,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' included_characters' +- source: included_characters + scopes: + - variable.snake-case + - variable.other.unknown.included_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12911,7 +14481,8 @@ - comment.line.double-slash - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -12922,6 +14493,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12960,7 +14534,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -12971,7 +14548,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: RemoveWhileIncluded scopesBegin: @@ -13010,12 +14587,24 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -13025,21 +14614,33 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_of_char_to_ignore ' +- source: number_of_char_to_ignore + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.number_of_char_to_ignore - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13052,14 +14653,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13093,10 +14704,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' included_characters' +- source: included_characters + scopes: + - variable.snake-case + - variable.other.unknown.included_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13114,6 +14731,8 @@ scopes: - keyword.operator.increment - source: number_of_char_to_ignore + scopes: + - variable.other.unknown.number_of_char_to_ignore - source: ; scopes: - punctuation.terminator.statement @@ -13146,13 +14765,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13163,12 +14786,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: number_of_char_to_ignore + scopes: + - variable.other.unknown.number_of_char_to_ignore - source: ',' scopes: - punctuation.separator.delimiter.comma - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -13196,7 +14822,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -13207,7 +14836,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -13217,13 +14846,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Split scopesBegin: @@ -13263,23 +14892,42 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' chunks' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: chunks + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: chunks scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.chunks - source: . scopes: - punctuation.separator.dot-access @@ -13305,7 +14953,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' input ' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -13316,10 +14967,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' splitter' +- source: splitter + scopes: + - variable.lower-case + - variable.other.unknown.splitter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13327,47 +14984,82 @@ scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_index ' +- source: char_index + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '-' scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' chunk_index ' +- source: chunk_index + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' prev_char_was_splitter ' +- source: prev_char_was_splitter + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.prev_char_was_splitter - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13382,13 +15074,17 @@ - source: ++ scopes: - keyword.operator.increment -- source: 'char_index ' +- source: char_index + scopes: + - variable.snake-case + - variable.other.unknown.char_index - source: < scopes: - keyword.operator.comparison - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13412,16 +15108,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' current_character ' +- source: current_character + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13432,9 +15139,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_index + scopes: + - variable.snake-case + - variable.other.unknown.char_index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13446,11 +15158,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'current_character ' +- source: current_character + scopes: + - variable.snake-case + - variable.other.unknown.current_character - source: '==' scopes: - keyword.operator.comparison -- source: ' splitter' +- source: splitter + scopes: + - variable.lower-case + - variable.other.unknown.splitter - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13473,7 +15191,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.not -- source: ' prev_char_was_splitter' +- source: prev_char_was_splitter + scopes: + - variable.other.unknown.prev_char_was_splitter - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13486,7 +15206,8 @@ - punctuation.section.block.begin.bracket.curly - source: chunks scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.chunks - source: . scopes: - punctuation.separator.dot-access @@ -13516,6 +15237,9 @@ scopes: - keyword.operator.increment - source: chunk_index + scopes: + - variable.snake-case + - variable.other.unknown.chunk_index - source: ; scopes: - punctuation.terminator.statement @@ -13524,7 +15248,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' prev_char_was_splitter ' +- source: prev_char_was_splitter + scopes: + - variable.other.unknown.prev_char_was_splitter - source: '=' scopes: - keyword.operator.assignment @@ -13553,7 +15279,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' prev_char_was_splitter ' +- source: prev_char_was_splitter + scopes: + - variable.other.unknown.prev_char_was_splitter - source: '=' scopes: - keyword.operator.assignment @@ -13565,7 +15293,8 @@ - punctuation.terminator.statement - source: chunks scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.chunks - source: . scopes: - punctuation.separator.dot-access @@ -13576,6 +15305,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: chunk_index + scopes: + - variable.snake-case + - variable.other.unknown.chunk_index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13589,6 +15321,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: current_character + scopes: + - variable.snake-case + - variable.other.unknown.current_character - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13608,7 +15343,10 @@ - source: return scopes: - keyword.control.return -- source: ' chunks' +- source: chunks + scopes: + - variable.lower-case + - variable.other.unknown.chunks - source: ; scopes: - punctuation.terminator.statement @@ -13650,7 +15388,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StartIndexOfFirst__In__ @@ -13699,25 +15437,57 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.lower-case + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.snake-case + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: target + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -13730,6 +15500,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13741,25 +15513,57 @@ - source: ' convert base to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream2' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream2 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream2 ' +- source: stream2 + scopes: + - variable.lower-case + - variable.other.unknown.stream2 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' base_anytype' +- source: base_anytype + scopes: + - variable.snake-case + - variable.other.unknown.base_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string base ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: base + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream2 - source: . scopes: - punctuation.separator.dot-access @@ -13772,20 +15576,34 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13797,13 +15615,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: + scopes: - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -13821,7 +15643,8 @@ - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -13854,7 +15677,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -13865,12 +15689,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -13889,7 +15717,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13898,11 +15729,17 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -13964,7 +15801,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StartIndexOfLast__In__ @@ -14013,25 +15850,57 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.lower-case + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.snake-case + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: target + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -14044,6 +15913,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14055,25 +15926,57 @@ - source: ' convert base to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream2' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream2 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream2 ' +- source: stream2 + scopes: + - variable.lower-case + - variable.other.unknown.stream2 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' base_anytype' +- source: base_anytype + scopes: + - variable.snake-case + - variable.other.unknown.base_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string base ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: base + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream2 - source: . scopes: - punctuation.separator.dot-access @@ -14086,20 +15989,33 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14117,7 +16033,8 @@ - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14130,6 +16047,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14142,6 +16061,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14162,7 +16084,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14173,12 +16096,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14197,7 +16124,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14206,11 +16136,17 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: '--' scopes: - keyword.operator.decrement @@ -14262,7 +16198,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -14278,7 +16214,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Indices scopesBegin: @@ -14326,25 +16262,57 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.lower-case + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.snake-case + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: target + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -14357,35 +16325,65 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' indices' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: indices + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14397,13 +16395,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: + scopes: - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14421,7 +16423,8 @@ - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14454,7 +16457,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14465,12 +16469,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14489,7 +16497,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14497,7 +16508,8 @@ - meta.parens - source: indices scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.indices - source: . scopes: - punctuation.separator.dot-access @@ -14508,13 +16520,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -14529,7 +16547,10 @@ - source: return scopes: - keyword.control.return -- source: ' indices' +- source: indices + scopes: + - variable.lower-case + - variable.other.unknown.indices - source: ; scopes: - punctuation.terminator.statement @@ -14562,7 +16583,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Includes @@ -14611,25 +16632,57 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.lower-case + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.snake-case + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: target + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -14642,6 +16695,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14660,10 +16715,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' base' +- source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14713,7 +16774,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Startswith @@ -14762,25 +16823,57 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.lower-case + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.snake-case + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: target + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -14793,6 +16886,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14806,7 +16901,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14824,7 +16920,8 @@ - keyword.operator.comparison - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14852,7 +16949,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14870,7 +16968,8 @@ - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14889,7 +16988,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14936,7 +17038,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Endswith @@ -14985,25 +17087,57 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: stream1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.lower-case + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.snake-case + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: target + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -15016,6 +17150,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15029,7 +17165,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15047,7 +17184,8 @@ - keyword.operator.comparison - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -15075,7 +17213,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15087,7 +17226,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15105,7 +17245,8 @@ - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -15124,7 +17265,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15171,7 +17315,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the__thDigitOf__ scopesBegin: @@ -15211,12 +17355,23 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string input_as_string ' +- source: string scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: input_as_string + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.input_as_string - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: to_string scopes: - entity.name.function.call @@ -15224,9 +17379,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15243,7 +17403,8 @@ - punctuation.definition.begin.bracket.square - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -15259,7 +17420,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' position ' +- source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -15275,7 +17439,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsALegitFileName @@ -15319,10 +17483,22 @@ - source: ' allows a period only for file extentions' scopesEnd: - comment.line.double-slash -- source: ' regex is_not_obnoxious ' +- source: regex + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: is_not_obnoxious + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.is_not_obnoxious - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: regex scopes: - entity.name.function.call @@ -15351,6 +17527,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15364,10 +17542,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: attempt_filename + scopes: + - variable.snake-case + - variable.other.unknown.attempt_filename - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' is_not_obnoxious' +- source: is_not_obnoxious + scopes: + - variable.other.unknown.is_not_obnoxious - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15381,7 +17564,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -15414,54 +17597,116 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_char' +- source: each_char + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream char_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: char_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' char_stream ' +- source: char_stream + scopes: + - variable.snake-case + - variable.other.unknown.char_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement -- source: ' string output' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' space_counter ' +- source: space_counter + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' newline_counter ' +- source: newline_counter + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15475,7 +17720,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_stream - source: . scopes: - punctuation.separator.dot-access @@ -15486,6 +17732,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -15515,7 +17764,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -15539,7 +17791,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' space_counter' +- source: space_counter + scopes: + - variable.snake-case + - variable.other.unknown.space_counter - source: ++ scopes: - keyword.operator.increment @@ -15556,7 +17811,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_stream - source: . scopes: - punctuation.separator.dot-access @@ -15592,7 +17848,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -15619,6 +17878,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: space_counter + scopes: + - variable.snake-case + - variable.other.unknown.space_counter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15639,7 +17901,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' space_counter ' +- source: space_counter + scopes: + - variable.snake-case + - variable.other.unknown.space_counter - source: '=' scopes: - keyword.operator.assignment @@ -15678,7 +17943,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -15705,7 +17973,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' newline_counter' +- source: newline_counter + scopes: + - variable.snake-case + - variable.other.unknown.newline_counter - source: ++ scopes: - keyword.operator.increment @@ -15722,7 +17993,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_stream - source: . scopes: - punctuation.separator.dot-access @@ -15761,7 +18033,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -15788,6 +18063,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: newline_counter + scopes: + - variable.snake-case + - variable.other.unknown.newline_counter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15811,7 +18089,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' newline_counter ' +- source: newline_counter + scopes: + - variable.snake-case + - variable.other.unknown.newline_counter - source: '=' scopes: - keyword.operator.assignment @@ -15850,7 +18131,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -15872,7 +18156,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -15906,7 +18193,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -15928,7 +18218,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -15960,7 +18253,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -15982,7 +18278,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16014,7 +18313,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16036,7 +18338,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16068,7 +18373,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16090,7 +18398,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16122,7 +18433,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16144,7 +18458,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16168,11 +18485,17 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound -- source: ' each_char' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement @@ -16184,7 +18507,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -16195,7 +18521,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -16226,27 +18552,58 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_str ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output_str + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -16259,6 +18616,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16272,6 +18631,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_str + scopes: + - variable.snake-case + - variable.other.unknown.output_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16285,7 +18647,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -16326,13 +18688,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input ' +- source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -16357,10 +18723,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -16370,18 +18740,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16396,11 +18775,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachChar ' +- source: EachChar + scopes: + - variable.other.unknown.EachChar - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -16437,6 +18820,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: EachChar + scopes: + - variable.other.unknown.EachChar - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -16488,7 +18873,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -16538,6 +18923,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -16554,7 +18942,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__CharIn__String @@ -16606,14 +18994,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_string' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16632,11 +19030,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val' +- source: test_val + scopes: + - variable.snake-case + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16682,7 +19086,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -16692,13 +19096,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ExtractArguments scopesBegin: @@ -16795,7 +19199,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -16812,13 +19216,13 @@ - punctuation.separator.delimiter.comma.template.argument - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: @@ -16878,46 +19282,95 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' arguments' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: arguments + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' char_context_stack ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: char_context_stack + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.char_context_stack - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -16937,14 +19390,27 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: - punctuation.terminator.statement -- source: ' string previous_char_as_string ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: previous_char_as_string + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.previous_char_as_string - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -16954,6 +19420,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -16967,14 +19434,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16985,17 +19462,33 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment - source: ; scopes: - punctuation.terminator.statement -- source: ' string context ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic @@ -17006,7 +19499,7 @@ - punctuation.section.parens.begin.bracket.round - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -17029,6 +19522,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -17049,7 +19543,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'context ' +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context - source: '==' scopes: - keyword.operator.comparison @@ -17096,10 +19593,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' end_characters' +- source: end_characters + scopes: + - variable.snake-case + - variable.other.unknown.end_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17121,7 +19624,10 @@ - source: ' dont count the final character' scopesEnd: - comment.line.double-slash -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: '--' scopes: - keyword.operator.decrement @@ -17165,10 +19671,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ignore_characters' +- source: ignore_characters + scopes: + - variable.snake-case + - variable.other.unknown.ignore_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17238,19 +19750,30 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_first_arg ' +- source: is_first_arg + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.is_first_arg - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'previous_char_as_string ' +- source: previous_char_as_string + scopes: + - variable.other.unknown.previous_char_as_string - source: '==' scopes: - keyword.operator.comparison @@ -17268,6 +19791,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -17281,18 +19805,29 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_new_arg ' +- source: is_new_arg + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.is_new_arg - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: not scopes: - keyword.operator.wordlike - keyword.operator.not -- source: ' is_first_arg ' +- source: is_first_arg + scopes: + - variable.other.unknown.is_first_arg - source: and scopes: - keyword.operator.wordlike @@ -17313,7 +19848,7 @@ - punctuation.section.parens.begin.bracket.round - source: previous_char_as_string scopes: - - variable.other.object.access + - variable.other.unknown.previous_char_as_string - source: . scopes: - punctuation.separator.dot-access @@ -17340,10 +19875,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ignore_characters' +- source: ignore_characters + scopes: + - variable.snake-case + - variable.other.unknown.ignore_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17355,12 +19895,16 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'is_first_arg ' +- source: is_first_arg + scopes: + - variable.other.unknown.is_first_arg - source: or scopes: - keyword.operator.wordlike - keyword.operator.or -- source: ' is_new_arg' +- source: is_new_arg + scopes: + - variable.other.unknown.is_new_arg - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17373,7 +19917,8 @@ - punctuation.section.block.begin.bracket.curly - source: arguments scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arguments - source: . scopes: - punctuation.separator.dot-access @@ -17432,7 +19977,8 @@ - punctuation.section.parens.begin.bracket.round - source: arguments scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arguments - source: . scopes: - punctuation.separator.dot-access @@ -17471,6 +20017,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -17509,10 +20058,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' encapsulate_characters' +- source: encapsulate_characters + scopes: + - variable.snake-case + - variable.other.unknown.encapsulate_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17528,7 +20083,7 @@ - punctuation.section.block.begin.bracket.curly - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -17545,6 +20100,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17584,14 +20142,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_pair ' +- source: each_pair + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' encapsulating_pairs' +- source: encapsulating_pairs + scopes: + - variable.snake-case + - variable.other.unknown.encapsulating_pairs + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17625,6 +20193,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17636,7 +20207,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.each_pair - source: . scopes: - punctuation.separator.dot-access @@ -17669,7 +20241,7 @@ - comment.line.double-slash - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -17681,7 +20253,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.each_pair - source: . scopes: - punctuation.separator.dot-access @@ -17758,7 +20331,8 @@ - punctuation.section.parens.begin.bracket.round - source: arguments scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arguments - source: . scopes: - punctuation.separator.dot-access @@ -17797,6 +20371,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -17826,10 +20403,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17853,7 +20436,7 @@ - comment.line.double-slash - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -17885,7 +20468,9 @@ - source: ':' scopes: - punctuation.separator.label -- source: ' previous_char_as_string ' +- source: previous_char_as_string + scopes: + - variable.other.unknown.previous_char_as_string - source: '=' scopes: - keyword.operator.assignment @@ -17896,6 +20481,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17915,13 +20503,17 @@ - source: ' remove the parsed part' scopesEnd: - comment.line.double-slash -- source: ' content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -17932,12 +20524,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -17965,7 +20561,10 @@ - source: return scopes: - keyword.control.return -- source: ' arguments' +- source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: ; scopes: - punctuation.terminator.statement @@ -18006,7 +20605,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ToBinary scopesBegin: @@ -18070,6 +20669,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18095,7 +20697,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BinaryToInt @@ -18160,6 +20762,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18185,7 +20790,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Round @@ -18222,7 +20827,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' input_number ' +- source: input_number + scopes: + - variable.snake-case + - variable.other.unknown.input_number - source: + scopes: - keyword.operator.arithmetic @@ -18245,7 +20853,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Round @@ -18282,7 +20890,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' input_number ' +- source: input_number + scopes: + - variable.snake-case + - variable.other.unknown.input_number - source: + scopes: - keyword.operator.arithmetic @@ -18315,7 +20926,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18331,7 +20942,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Range scopesBegin: @@ -18382,20 +20993,35 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -18407,7 +21033,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'increment ' +- source: increment + scopes: + - variable.lower-case + - variable.other.unknown.increment - source: '>' scopes: - keyword.operator.comparison @@ -18433,30 +21062,52 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' lower' +- source: lower + scopes: + - variable.lower-case + - variable.other.unknown.lower - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' upper' +- source: upper + scopes: + - variable.lower-case + - variable.other.unknown.upper - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: += scopes: - keyword.operator.assignment.compound -- source: ' increment' +- source: increment + scopes: + - variable.lower-case + - variable.other.unknown.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18469,7 +21120,8 @@ - punctuation.section.block.begin.bracket.curly - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -18480,6 +21132,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -18513,30 +21168,52 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' lower' +- source: lower + scopes: + - variable.lower-case + - variable.other.unknown.lower - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '>' scopes: - keyword.operator.comparison -- source: ' upper' +- source: upper + scopes: + - variable.lower-case + - variable.other.unknown.upper - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: += scopes: - keyword.operator.assignment.compound -- source: ' increment' +- source: increment + scopes: + - variable.lower-case + - variable.other.unknown.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18549,7 +21226,8 @@ - punctuation.section.block.begin.bracket.curly - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -18560,6 +21238,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -18579,7 +21260,10 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -18590,7 +21274,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18606,7 +21290,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Range scopesBegin: @@ -18659,6 +21343,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: lower + scopes: + - variable.lower-case + - variable.other.unknown.lower - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18668,7 +21355,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' upper' +- source: upper + scopes: + - variable.lower-case + - variable.other.unknown.upper - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18682,7 +21372,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18698,7 +21388,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Range scopesBegin: @@ -18752,7 +21442,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' upper' +- source: upper + scopes: + - variable.lower-case + - variable.other.unknown.upper - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18992,7 +21685,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -19053,7 +21746,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19104,12 +21800,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19155,7 +21857,10 @@ - source: else scopes: - keyword.control.else -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19201,7 +21906,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -19212,7 +21920,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -19301,6 +22009,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19336,6 +22047,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19350,10 +22064,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -19361,9 +22088,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19383,7 +22115,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -19412,6 +22147,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19434,7 +22172,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -19457,7 +22198,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' input ' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -19478,7 +22222,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -19501,7 +22248,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' input ' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -19532,6 +22282,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19549,7 +22302,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -19571,7 +22327,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -19632,7 +22388,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19674,7 +22433,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19685,6 +22447,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_char + scopes: + - variable.snake-case + - variable.other.unknown.input_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19710,7 +22475,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -19721,7 +22489,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -19779,7 +22547,10 @@ - source: ' reset the char' scopesEnd: - comment.line.double-slash -- source: ' input_char ' +- source: input_char + scopes: + - variable.snake-case + - variable.other.unknown.input_char - source: '=' scopes: - keyword.operator.assignment @@ -19838,6 +22609,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19873,6 +22647,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19887,10 +22664,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string char_content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: char_content + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -19898,9 +22688,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19920,7 +22715,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_content ' +- source: char_content + scopes: + - variable.snake-case + - variable.other.unknown.char_content - source: '==' scopes: - keyword.operator.comparison @@ -19949,6 +22747,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19973,7 +22774,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_content scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_content - source: . scopes: - punctuation.separator.dot-access @@ -20047,7 +22849,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' input_char ' +- source: input_char + scopes: + - variable.snake-case + - variable.other.unknown.input_char - source: '=' scopes: - keyword.operator.assignment @@ -20083,6 +22888,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20107,6 +22915,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20124,7 +22935,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -20146,7 +22960,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -20207,7 +23021,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20249,7 +23066,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20260,6 +23080,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20285,7 +23108,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -20296,7 +23122,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -20385,6 +23211,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20420,6 +23249,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20434,10 +23266,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -20445,9 +23290,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20467,7 +23317,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -20496,6 +23349,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20510,37 +23366,66 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' stringstream content_as_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: content_as_stream + scopes: + - meta.declaration + - variable.other.unknown.content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -20551,6 +23436,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20580,6 +23467,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20598,6 +23487,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20615,7 +23507,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -20637,7 +23532,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -20698,7 +23593,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20740,11 +23638,26 @@ - source: ' make sure and get all the decimals ' scopesEnd: - comment.line.double-slash -- source: ' stringstream output' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20763,7 +23676,10 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -20775,7 +23691,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20787,7 +23706,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -20825,7 +23745,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -20836,7 +23759,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -20925,6 +23848,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20960,6 +23886,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20974,10 +23903,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -20985,9 +23927,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -21007,7 +23954,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -21036,6 +23986,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21050,37 +24003,66 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' stringstream content_as_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: content_as_stream + scopes: + - meta.declaration + - variable.other.unknown.content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -21091,6 +24073,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21120,6 +24104,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21138,6 +24124,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21155,7 +24144,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -21177,7 +24169,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21242,7 +24234,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21284,11 +24279,26 @@ - source: ' make sure and get all the decimals ' scopesEnd: - comment.line.double-slash -- source: ' stringstream output' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21307,7 +24317,10 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -21319,7 +24332,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21331,7 +24347,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -21369,7 +24386,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -21380,7 +24400,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21473,6 +24493,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21508,6 +24531,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21522,10 +24548,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -21533,9 +24572,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -21555,7 +24599,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -21584,6 +24631,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21598,37 +24648,66 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' stringstream content_as_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: content_as_stream + scopes: + - meta.declaration + - variable.other.unknown.content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -21639,6 +24718,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21668,6 +24749,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21686,6 +24769,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21703,7 +24789,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -21725,7 +24814,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21785,7 +24874,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21827,7 +24919,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21838,6 +24933,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21863,7 +24961,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -21874,7 +24975,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21962,6 +25063,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21997,6 +25101,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22011,10 +25118,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -22022,9 +25142,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22044,7 +25169,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -22073,6 +25201,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22105,7 +25236,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -22160,6 +25292,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22174,13 +25309,17 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' input ' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -22198,7 +25337,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -22234,7 +25374,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -22256,7 +25399,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -22323,7 +25466,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22365,7 +25511,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22376,6 +25525,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22401,7 +25553,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -22442,7 +25597,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -22502,7 +25657,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22544,7 +25702,10 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22555,6 +25716,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22580,7 +25744,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -22613,7 +25780,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -22701,6 +25868,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22736,6 +25906,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22750,10 +25923,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -22761,9 +25947,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22783,7 +25974,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -22812,6 +26006,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22844,7 +26041,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -22899,6 +26097,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22913,17 +26114,33 @@ - source: ' store data' scopesEnd: - comment.line.double-slash -- source: ' stringstream transfer_method' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: transfer_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -22941,7 +26158,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -22966,11 +26184,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -22997,6 +26221,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23015,6 +26242,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23032,7 +26262,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -23073,7 +26306,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AsString scopesBegin: @@ -23109,9 +26342,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream data_stream' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -23122,10 +26366,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23162,7 +26412,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_stream' +- source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23177,10 +26430,23 @@ - source: ' get the content' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -23188,9 +26454,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -23202,13 +26473,17 @@ - source: ' remove the closing newline' scopesEnd: - comment.line.double-slash -- source: ' content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -23226,7 +26501,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -23254,7 +26530,10 @@ - source: return scopes: - keyword.control.return -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -23287,7 +26566,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: TypeAsString scopesBegin: @@ -23323,9 +26602,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream data_stream' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -23336,10 +26626,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23354,10 +26650,23 @@ - source: ' get the name of the datatype' scopesEnd: - comment.line.double-slash -- source: ' string name ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: EverythingUpTo scopes: - entity.name.function.call @@ -23380,10 +26689,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_stream' +- source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -23395,13 +26709,17 @@ - source: ' remove the closing newline' scopesEnd: - comment.line.double-slash -- source: ' name ' +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment - source: name scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.name - source: . scopes: - punctuation.separator.dot-access @@ -23419,7 +26737,8 @@ - punctuation.separator.delimiter.comma - source: name scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.name - source: . scopes: - punctuation.separator.dot-access @@ -23447,7 +26766,10 @@ - source: return scopes: - keyword.control.return -- source: ' name' +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: ; scopes: - punctuation.terminator.statement @@ -23500,7 +26822,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -23530,17 +26852,34 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream out' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: out + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -23549,7 +26888,8 @@ - keyword.control.return - source: out scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.out - source: . scopes: - punctuation.separator.dot-access @@ -23583,7 +26923,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -23614,9 +26954,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output' +- source: string scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -23628,7 +26979,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'input ' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: '==' scopes: - keyword.operator.comparison @@ -23640,7 +26994,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -23661,7 +27018,10 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -23682,7 +27042,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -23704,7 +27067,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -23747,6 +27110,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23771,7 +27137,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -23814,6 +27180,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23838,7 +27207,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -23881,6 +27250,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23905,7 +27277,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -23940,7 +27312,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -23962,7 +27337,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormatDollars scopesBegin: @@ -23993,17 +27368,34 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' fixed ' +- source: fixed + scopes: + - variable.lower-case + - variable.other.unknown.fixed - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24022,7 +27414,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24040,11 +27435,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -24053,7 +27454,8 @@ - keyword.control.return - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -24110,25 +27512,44 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: stringstream output +- source: stringstream + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.stringstream +- source: output + scopes: + - variable.other.unknown.output + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' ARGS' +- source: ARGS + scopes: + - variable.upper-case + - variable.other.unknown.ARGS - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -24177,7 +27598,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Show scopesBegin: @@ -24207,9 +27628,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24220,6 +27644,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24236,6 +27663,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24260,7 +27690,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Ask scopesBegin: @@ -24290,20 +27720,38 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' question_ ' +- source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ; scopes: - punctuation.terminator.statement -- source: ' string Answer ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: Answer + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.Answer - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -24313,6 +27761,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -24324,10 +27773,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cin + scopes: + - variable.lower-case + - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' Answer' +- source: Answer + scopes: + - variable.other.unknown.Answer - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24337,7 +27791,9 @@ - source: return scopes: - keyword.control.return -- source: ' Answer' +- source: Answer + scopes: + - variable.other.unknown.Answer - source: ; scopes: - punctuation.terminator.statement @@ -24348,7 +27804,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForAnInt @@ -24403,7 +27859,10 @@ scopesEnd: - meta.toc-list.banner.double-slash - comment.line.double-slash -- source: ' regex' +- source: regex + scopes: + - meta.qualified-type + - entity.name.type - source: is_it_an_int scopes: - entity.name.function.call @@ -24431,10 +27890,23 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string answer_ ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: answer_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -24444,6 +27916,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -24477,7 +27950,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '=' scopes: - keyword.operator.assignment @@ -24488,6 +27964,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24517,10 +27996,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' is_it_an_int' +- source: is_it_an_int + scopes: + - variable.other.unknown.is_it_an_int - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24539,13 +28023,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24595,7 +28085,7 @@ - meta.body.function.definition - source: double scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForANumber @@ -24650,7 +28140,10 @@ scopesEnd: - meta.toc-list.banner.double-slash - comment.line.double-slash -- source: ' regex' +- source: regex + scopes: + - meta.qualified-type + - entity.name.type - source: is_it_a_number scopes: - entity.name.function.call @@ -24690,10 +28183,23 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string answer_ ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: answer_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -24703,6 +28209,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -24736,7 +28243,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '=' scopes: - keyword.operator.assignment @@ -24747,6 +28257,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24776,10 +28289,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' is_it_a_number' +- source: is_it_a_number + scopes: + - variable.other.unknown.is_it_a_number - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24798,13 +28316,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24854,7 +28378,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForAnIntFrom__To__ @@ -24908,30 +28432,57 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' integer_ ' +- source: integer_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: AskForAnInt scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' string internal_question ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: internal_question + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -24953,6 +28504,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: smallest + scopes: + - variable.lower-case + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24980,6 +28534,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: largest + scopes: + - variable.lower-case + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24998,6 +28555,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -25044,11 +28602,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'integer_ ' +- source: integer_ + scopes: + - variable.snake-case + - variable.other.unknown.integer_ - source: '>=' scopes: - keyword.operator.comparison -- source: ' smallest' +- source: smallest + scopes: + - variable.lower-case + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -25062,11 +28626,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'integer_ ' +- source: integer_ + scopes: + - variable.snake-case + - variable.other.unknown.integer_ - source: <= scopes: - keyword.operator.comparison -- source: ' largest' +- source: largest + scopes: + - variable.lower-case + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -25093,7 +28663,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' integer_ ' +- source: integer_ + scopes: + - variable.snake-case + - variable.other.unknown.integer_ - source: '=' scopes: - keyword.operator.assignment @@ -25103,7 +28676,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' internal_question ' +- source: internal_question + scopes: + - variable.snake-case + - variable.other.unknown.internal_question - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25118,7 +28694,10 @@ - source: return scopes: - keyword.control.return -- source: ' integer_' +- source: integer_ + scopes: + - variable.snake-case + - variable.other.unknown.integer_ - source: ; scopes: - punctuation.terminator.statement @@ -25129,7 +28708,7 @@ - meta.body.function.definition - source: double scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForADoubleFrom__To__ @@ -25183,30 +28762,57 @@ - source: double scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: AskForANumber scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' string internal_question ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: internal_question + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -25228,6 +28834,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: smallest + scopes: + - variable.lower-case + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25255,6 +28864,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: largest + scopes: + - variable.lower-case + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25273,6 +28885,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -25319,11 +28932,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>=' scopes: - keyword.operator.comparison -- source: ' smallest' +- source: smallest + scopes: + - variable.lower-case + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -25337,11 +28956,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: <= scopes: - keyword.operator.comparison -- source: ' largest' +- source: largest + scopes: + - variable.lower-case + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -25368,7 +28993,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '=' scopes: - keyword.operator.assignment @@ -25378,7 +29006,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' internal_question ' +- source: internal_question + scopes: + - variable.snake-case + - variable.other.unknown.internal_question - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25393,7 +29024,10 @@ - source: return scopes: - keyword.control.return -- source: ' number_' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -25404,7 +29038,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskYesOrNo @@ -25466,10 +29100,23 @@ - source: ' FIXME use regex here instead' scopesEnd: - comment.line.double-slash -- source: ' string answer_ ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: answer_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Ask scopes: - entity.name.function.call @@ -25477,9 +29124,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -25496,7 +29148,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25514,7 +29169,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25532,7 +29190,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25550,7 +29211,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25610,7 +29274,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25628,7 +29295,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25646,7 +29316,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25664,7 +29337,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.snake-case + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -25708,7 +29384,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -25742,7 +29421,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -25788,7 +29470,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AskForAFileName scopesBegin: @@ -25841,20 +29523,38 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string file_name ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: file_name + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Ask scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -25873,6 +29573,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_name + scopes: + - variable.snake-case + - variable.other.unknown.file_name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25889,7 +29592,10 @@ - source: return scopes: - keyword.control.return -- source: ' file_name' +- source: file_name + scopes: + - variable.snake-case + - variable.other.unknown.file_name - source: ; scopes: - punctuation.terminator.statement @@ -25906,7 +29612,10 @@ - source: ' else ' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -25939,7 +29648,7 @@ - meta.body.function.definition - source: fstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AskUserForExistingFile scopesBegin: @@ -25992,24 +29701,45 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string name_ ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: name_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: AskForAFileName scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.snake-case + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' fstream' +- source: fstream + scopes: + - meta.qualified-type + - entity.name.type - source: the_file scopes: - entity.name.function.call @@ -26017,6 +29747,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: name_ + scopes: + - variable.snake-case + - variable.other.unknown.name_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26051,6 +29784,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: the_file + scopes: + - variable.snake-case + - variable.other.unknown.the_file - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26069,7 +29805,10 @@ - source: return scopes: - keyword.control.return -- source: ' the_file' +- source: the_file + scopes: + - variable.snake-case + - variable.other.unknown.the_file - source: ; scopes: - punctuation.terminator.statement @@ -26078,7 +29817,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -26141,7 +29883,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Save__In__ @@ -26181,9 +29923,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ofstream' +- source: ofstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified-type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -26191,6 +29936,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.snake-case + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26204,10 +29952,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_to_save' +- source: data_to_save + scopes: + - variable.other.unknown.data_to_save - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26216,7 +29968,7 @@ - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -26261,7 +30013,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Load__From__ @@ -26304,9 +30056,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ifstream' +- source: ifstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified-type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -26314,6 +30069,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.snake-case + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26327,10 +30085,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_to_load' +- source: data_to_load + scopes: + - variable.other.unknown.data_to_load - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26339,7 +30101,7 @@ - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -26362,7 +30124,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: SaveFile @@ -26402,9 +30164,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ofstream' +- source: ofstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified-type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -26412,23 +30177,31 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.snake-case + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' the_file_stream ' +- source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -26451,7 +30224,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ReadFile scopesBegin: @@ -26481,9 +30254,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ifstream' +- source: ifstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified-type + - entity.name.type - source: the_file scopes: - entity.name.function.call @@ -26491,13 +30267,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.snake-case + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' string' +- source: string + scopes: + - meta.qualified-type + - entity.name.type - source: content scopes: - entity.name.function.call @@ -26532,6 +30314,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file + scopes: + - variable.snake-case + - variable.other.unknown.the_file - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26576,7 +30361,8 @@ - punctuation.terminator.statement - source: the_file scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.the_file - source: . scopes: - punctuation.separator.dot-access @@ -26595,7 +30381,10 @@ - source: return scopes: - keyword.control.return -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -26606,7 +30395,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: OpenFileAsString scopesBegin: @@ -26636,9 +30425,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' fstream' +- source: fstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified-type + - entity.name.type - source: the_file scopes: - entity.name.function.call @@ -26646,6 +30438,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.snake-case + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26680,6 +30475,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: the_file + scopes: + - variable.snake-case + - variable.other.unknown.the_file - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26705,6 +30503,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.snake-case + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26770,7 +30571,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -26821,10 +30622,17 @@ - source: ' void* and call the function object.' scopesEnd: - comment.line.double-slash -- source: ' function' +- source: function + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: void scopes: - storage.type.primitive @@ -26832,26 +30640,27 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ( - scopesBegin: - - meta.parens - scopes: - - punctuation.section.parens.begin.bracket.round -- source: ) - scopes: - - punctuation.section.parens.end.bracket.round - scopesEnd: - - meta.parens +- source: () - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call - source: '&' scopes: - - keyword.operator.bitwise -- source: ' func ' + - storage.modifier.reference +- source: func + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic @@ -26863,6 +30672,9 @@ scopes: - keyword.operator.comparison - source: function + scopes: + - variable.lower-case + - variable.other.unknown.function - source: < scopes: - keyword.operator.comparison @@ -26898,10 +30710,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: context + scopes: + - variable.lower-case + - variable.other.unknown.context - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -27090,16 +30906,25 @@ scopesEnd: - comment.line.double-slash - source: pthread_t + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thread' +- source: thread + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -27132,31 +30957,57 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' function' +- source: function + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - entity.name.function.call + - meta.qualified-type + - entity.name.type - source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: ANY_INPUT_TYPE argument +- source: ANY_INPUT_TYPE + scopesBegin: + - meta.qualified-type + - entity.name.type +- source: argument + scopesEnd: + - meta.qualified-type + - entity.name.type - source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.call - source: '>' scopes: - - keyword.operator.comparison -- source: ' lambda_thread_function' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: lambda_thread_function + scopes: + - meta.declaration + - variable.other.unknown.lambda_thread_function + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' function' +- source: function + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: void scopes: - storage.type.primitive @@ -27164,56 +31015,103 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ( - scopesBegin: - - meta.parens - scopes: - - punctuation.section.parens.begin.bracket.round -- source: ) +- source: () +- source: '>' scopes: - - punctuation.section.parens.end.bracket.round + - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.parens -- source: '>' + - meta.qualified-type + - meta.template.call +- source: functional_wrapper scopes: - - keyword.operator.comparison -- source: ' functional_wrapper' + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' ANY_OUTPUT_TYPE output' +- source: ANY_OUTPUT_TYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' ANY_INPUT_TYPE arguments' +- source: ANY_INPUT_TYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arguments + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' use_lambda ' +- source: use_lambda + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -27331,16 +31229,16 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( - source: ANY_INPUT_TYPE scopesBegin: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: argument scopesEnd: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ) - source: '>' @@ -27372,9 +31270,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' use_lambda ' +- source: use_lambda scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.snake-case + - variable.other.unknown.use_lambda - source: '=' scopes: - keyword.operator.assignment @@ -27384,19 +31285,30 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' lambda_thread_function ' +- source: lambda_thread_function + scopes: + - variable.other.unknown.lambda_thread_function - source: '=' scopes: - keyword.operator.assignment -- source: ' input_function' +- source: input_function + scopes: + - variable.snake-case + - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement -- source: ' arguments ' +- source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: '=' scopes: - keyword.operator.assignment -- source: ' input_arguments' +- source: input_arguments + scopes: + - variable.snake-case + - variable.other.unknown.input_arguments - source: ; scopes: - punctuation.terminator.statement @@ -27420,7 +31332,7 @@ - meta.function.definition.parameters.special.constructor - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -27462,13 +31374,19 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' thread_function ' +- source: thread_function scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.snake-case + - variable.other.unknown.thread_function - source: '=' scopes: - keyword.operator.assignment -- source: ' input_function' +- source: input_function + scopes: + - variable.snake-case + - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement @@ -27492,7 +31410,7 @@ - meta.function.definition.parameters.special.constructor - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -27543,30 +31461,45 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' thread_function ' +- source: thread_function scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.snake-case + - variable.other.unknown.thread_function - source: '=' scopes: - keyword.operator.assignment -- source: ' input_function' +- source: input_function + scopes: + - variable.snake-case + - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement -- source: ' arguments ' +- source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: '=' scopes: - keyword.operator.assignment - source: ANY_INPUT_TYPE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input_arguments + scopes: + - variable.snake-case + - variable.other.unknown.input_arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -27589,7 +31522,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Start @@ -27650,7 +31583,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '==' scopes: - keyword.operator.comparison @@ -27667,7 +31602,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -27707,7 +31645,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -27728,7 +31669,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -27770,7 +31714,9 @@ - source: ' if the task wasnt running before, it is now' scopesEnd: - comment.line.double-slash -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment @@ -27780,7 +31726,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' functional_wrapper ' +- source: functional_wrapper + scopes: + - variable.snake-case + - variable.other.unknown.functional_wrapper - source: '=' scopes: - keyword.operator.assignment @@ -27865,6 +31814,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: use_lambda + scopes: + - variable.snake-case + - variable.other.unknown.use_lambda - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -27875,7 +31827,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -27886,6 +31841,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27905,7 +31863,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -27916,6 +31877,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27927,7 +31891,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment @@ -27982,14 +31948,23 @@ scopes: - keyword.operator.bitwise - source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' attributes' +- source: attributes + scopes: + - variable.lower-case + - variable.other.unknown.attributes - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' thread_stub' +- source: thread_stub + scopes: + - variable.snake-case + - variable.other.unknown.thread_stub - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -27997,6 +31972,9 @@ scopes: - keyword.operator.bitwise - source: functional_wrapper + scopes: + - variable.snake-case + - variable.other.unknown.functional_wrapper - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28010,7 +31988,7 @@ - meta.body.function.definition - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: WaitForCompletion scopesBegin: @@ -28044,6 +32022,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28064,7 +32045,9 @@ - source: ' this task is no longer running' scopesEnd: - comment.line.double-slash -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment @@ -28085,7 +32068,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -28109,7 +32095,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' __dummy_thread' +- source: __dummy_thread + scopes: + - variable.other.unknown.__dummy_thread - source: ; scopes: - punctuation.terminator.statement @@ -28192,74 +32180,139 @@ scopesEnd: - comment.line.double-slash - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static -- source: ' map' +- source: map + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: TaskClass + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' ANY_INPUT_TYPE' + - punctuation.separator.delimiter.comma.template.argument +- source: ANY_INPUT_TYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call - source: '*' scopes: - keyword.operator.arithmetic - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' links_to' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: links_to + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' TaskClass' +- source: TaskClass + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' ANY_INPUT_TYPE' + - punctuation.separator.delimiter.comma.template.argument +- source: ANY_INPUT_TYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' ptr_to_original ' + - storage.modifier.pointer +- source: ptr_to_original + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: nullptr scopes: - constant.language.nullptr + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: pthread_t + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread - source: '&' scopes: - - keyword.operator.bitwise -- source: ' thread' + - storage.modifier.reference +- source: thread + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -28297,6 +32350,7 @@ - source: __dummy_thread scopes: - meta.parameter.initialization + - variable.other.unknown.__dummy_thread - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -28333,14 +32387,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -28372,6 +32426,7 @@ - source: __dummy_thread scopes: - meta.parameter.initialization + - variable.other.unknown.__dummy_thread - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -28381,13 +32436,17 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment -- source: ' a_task_ptr' +- source: a_task_ptr + scopes: + - variable.other.unknown.a_task_ptr - source: ; scopes: - punctuation.terminator.statement @@ -28409,7 +32468,8 @@ - punctuation.section.parens.begin.bracket.round - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -28420,6 +32480,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -28428,7 +32490,8 @@ - keyword.operator.comparison - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -28468,6 +32531,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28507,6 +32572,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28515,13 +32582,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment - source: a_task_ptr scopes: - - variable.other.object.access + - variable.other.unknown.a_task_ptr - source: '->' scopes: - punctuation.separator.pointer-access @@ -28580,6 +32650,7 @@ - source: __dummy_thread scopes: - meta.parameter.initialization + - variable.other.unknown.__dummy_thread - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -28589,15 +32660,18 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access @@ -28607,19 +32681,23 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access - source: ptr_to_original scopes: - - variable.other.object.property + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -28647,7 +32725,8 @@ - punctuation.section.parens.begin.bracket.round - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -28658,6 +32737,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -28666,7 +32747,8 @@ - keyword.operator.comparison - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -28706,6 +32788,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28745,6 +32829,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28801,6 +32887,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28834,6 +32922,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28859,7 +32949,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' ptr_to_original' +- source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ; scopes: - punctuation.terminator.statement @@ -28887,7 +32979,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: SetOriginal @@ -28911,14 +33003,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -28942,13 +33034,18 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment -- source: ' a_pointer' +- source: a_pointer + scopes: + - variable.snake-case + - variable.other.unknown.a_pointer - source: ; scopes: - punctuation.terminator.statement @@ -28964,6 +33061,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28972,7 +33071,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment @@ -28986,7 +33088,8 @@ - punctuation.section.parens.begin.bracket.round - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -29008,7 +33111,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Start @@ -29062,7 +33165,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ptr_to_original ' +- source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: '==' scopes: - keyword.operator.comparison @@ -29143,7 +33248,7 @@ - punctuation.section.block.begin.bracket.curly - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -29171,7 +33276,7 @@ - meta.body.function.definition - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: WaitForCompletion scopesBegin: @@ -29196,7 +33301,7 @@ - keyword.control.return - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -29219,7 +33324,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StillRunning @@ -29249,7 +33354,7 @@ - keyword.operator.not - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -29277,7 +33382,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -29321,15 +33426,18 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access @@ -29339,19 +33447,23 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access - source: ptr_to_original scopes: - - variable.other.object.property + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -29379,7 +33491,8 @@ - punctuation.section.parens.begin.bracket.round - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -29390,6 +33503,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -29398,7 +33513,8 @@ - keyword.operator.comparison - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -29438,6 +33554,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29477,6 +33595,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29539,19 +33659,30 @@ - punctuation.section.angle-brackets.end.template.definition scopesEnd: - meta.template.definition -- source: ' map' +- source: map + scopes: + - variable.lower-case + - variable.other.unknown.map - source: < scopes: - keyword.operator.comparison - source: TaskClass + scopes: + - variable.other.unknown.TaskClass - source: < scopes: - keyword.operator.comparison - source: ANY_OUTPUT_TYPE + scopes: + - variable.upper-case + - variable.other.unknown.ANY_OUTPUT_TYPE - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ANY_INPUT_TYPE' +- source: ANY_INPUT_TYPE + scopes: + - variable.upper-case + - variable.other.unknown.ANY_INPUT_TYPE - source: '>' scopes: - keyword.operator.comparison @@ -29579,14 +33710,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -29599,6 +33730,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: links_to + scopes: + - variable.snake-case + - variable.other.unknown.links_to - source: ; scopes: - punctuation.terminator.statement @@ -29662,10 +33796,12 @@ scopesBegin: - meta.arguments.decltype scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: decltype scopes: - keyword.operator.functionlike @@ -29677,6 +33813,8 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -29684,6 +33822,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - meta.arguments.decltype - source: ) @@ -29703,6 +33842,8 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -29740,10 +33881,12 @@ scopesBegin: - meta.arguments.decltype scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: decltype scopes: - keyword.operator.functionlike @@ -29755,6 +33898,8 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -29762,6 +33907,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - meta.arguments.decltype - source: ) @@ -29781,6 +33927,8 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -29794,10 +33942,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: FUNC + scopes: + - variable.upper-case + - variable.other.unknown.FUNC - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ARG' +- source: ARG + scopes: + - variable.upper-case + - variable.other.unknown.ARG - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -29821,7 +33975,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -29865,11 +34019,19 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' _Nullable ' +- source: _Nullable + scopes: + - variable.other.unknown._Nullable - source: '*' scopes: - keyword.operator.arithmetic -- source: ' _Nullable output ' +- source: _Nullable + scopes: + - variable.other.unknown._Nullable +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -29886,10 +34048,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: thread + scopes: + - variable.lower-case + - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -29917,6 +34085,9 @@ scopesEnd: - meta.parens - source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -29956,10 +34127,17 @@ - source: ' data' scopesEnd: - comment.line.double-slash -- source: ' map' +- source: map + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: void scopes: - storage.type.primitive @@ -29969,15 +34147,23 @@ - keyword.operator.arithmetic - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: pthread_mutex_t scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread - source: '>' scopes: - - keyword.operator.comparison -- source: ' map_of_locks' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: map_of_locks + scopes: + - meta.declaration + - variable.other.unknown.map_of_locks + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -29993,7 +34179,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Lock @@ -30047,7 +34233,7 @@ - punctuation.section.parens.begin.bracket.round - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -30058,6 +34244,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: varaible_address + scopes: + - variable.snake-case + - variable.other.unknown.varaible_address - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -30066,7 +34255,7 @@ - keyword.operator.comparison - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -30106,6 +34295,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: varaible_address + scopes: + - variable.snake-case + - variable.other.unknown.varaible_address - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -30114,7 +34306,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' PTHREAD_MUTEX_INITIALIZER' +- source: PTHREAD_MUTEX_INITIALIZER + scopes: + - variable.upper-case + - variable.other.unknown.PTHREAD_MUTEX_INITIALIZER - source: ; scopes: - punctuation.terminator.statement @@ -30154,6 +34349,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: varaible_address + scopes: + - variable.snake-case + - variable.other.unknown.varaible_address - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -30177,7 +34375,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Unlock @@ -30231,7 +34429,7 @@ - punctuation.section.parens.begin.bracket.round - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -30242,6 +34440,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: varaible_address + scopes: + - variable.snake-case + - variable.other.unknown.varaible_address - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -30250,7 +34451,7 @@ - keyword.operator.comparison - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -30323,6 +34524,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: varaible_address + scopes: + - variable.snake-case + - variable.other.unknown.varaible_address - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -30358,6 +34562,7 @@ - source: LockManager scopes: - meta.tail.class + - variable.other.unknown.LockManager - source: ; scopes: - punctuation.terminator.statement @@ -30387,7 +34592,7 @@ - punctuation.definition.parameters.end.preprocessor - source: LockManager scopes: - - variable.other.object.access + - variable.other.unknown.LockManager - source: . scopes: - punctuation.separator.dot-access @@ -30419,6 +34624,9 @@ scopes: - keyword.operator.bitwise - source: ARGS + scopes: + - variable.upper-case + - variable.other.unknown.ARGS - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -30450,7 +34658,7 @@ - punctuation.definition.parameters.end.preprocessor - source: LockManager scopes: - - variable.other.object.access + - variable.other.unknown.LockManager - source: . scopes: - punctuation.separator.dot-access @@ -30482,6 +34690,9 @@ scopes: - keyword.operator.bitwise - source: ARGS + scopes: + - variable.upper-case + - variable.other.unknown.ARGS - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -30548,7 +34759,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -30589,7 +34800,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -30616,16 +34827,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -30637,7 +34859,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -30679,7 +34904,19 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' stringstream all_members' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: all_members + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -30691,11 +34928,24 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' ANYTYPE each ' +- source: ANYTYPE + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - entity.name.type +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_vector ' +- source: input_vector + scopes: + - variable.snake-case + - variable.other.unknown.input_vector + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -30713,17 +34963,26 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' each' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' all_members ' +- source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -30766,7 +35025,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -30790,7 +35050,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' all_members ' +- source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -30827,12 +35090,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -30858,7 +35127,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -30893,13 +35163,26 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string all_members_str ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: all_members_str + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.all_members_str - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -30912,10 +35195,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -30926,6 +35214,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members_str + scopes: + - variable.other.unknown.all_members_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -30951,7 +35241,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -30984,7 +35277,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -31022,7 +35315,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -31049,16 +35342,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -31070,7 +35374,10 @@ - source: ' reset the input vector' scopesEnd: - comment.line.double-slash -- source: ' input_vector ' +- source: input_vector + scopes: + - variable.snake-case + - variable.other.unknown.input_vector - source: '=' scopes: - keyword.operator.assignment @@ -31126,6 +35433,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31161,6 +35471,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31175,10 +35488,23 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string vector_content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: vector_content + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -31186,9 +35512,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -31201,12 +35532,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31236,12 +35573,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31252,6 +35595,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content + scopes: + - variable.snake-case + - variable.other.unknown.vector_content - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31290,7 +35636,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'vector_content ' +- source: vector_content + scopes: + - variable.snake-case + - variable.other.unknown.vector_content - source: '==' scopes: - keyword.operator.comparison @@ -31319,6 +35668,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31341,7 +35693,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' vector_content ' +- source: vector_content + scopes: + - variable.snake-case + - variable.other.unknown.vector_content - source: '==' scopes: - keyword.operator.comparison @@ -31366,7 +35721,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -31378,27 +35736,63 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' ANYTYPE data_member' +- source: ANYTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_member + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream vector_content_as_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: vector_content_as_stream + scopes: + - meta.declaration + - variable.other.unknown.vector_content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' vector_content_as_stream ' +- source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' vector_content' +- source: vector_content + scopes: + - variable.snake-case + - variable.other.unknown.vector_content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -31425,10 +35819,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_member' +- source: data_member + scopes: + - variable.snake-case + - variable.other.unknown.data_member - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31437,7 +35836,7 @@ - punctuation.terminator.statement - source: vector_content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.vector_content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -31448,6 +35847,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31469,6 +35870,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31492,6 +35895,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31505,7 +35911,8 @@ - meta.block - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -31516,6 +35923,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: data_member + scopes: + - variable.snake-case + - variable.other.unknown.data_member - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31546,6 +35956,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31575,7 +35987,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -31609,6 +36022,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31626,7 +36042,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -31667,7 +36086,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -31690,7 +36109,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -31711,9 +36130,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -31725,11 +36155,24 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' ANYTYPE each ' +- source: ANYTYPE + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - entity.name.type +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input ' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -31740,7 +36183,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31751,6 +36197,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31789,7 +36238,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -31845,7 +36295,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Remove__ThElementFrom__Vector @@ -31879,7 +36329,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -31907,7 +36357,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -31919,7 +36370,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -31935,7 +36387,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' element_number' +- source: element_number + scopes: + - variable.snake-case + - variable.other.unknown.element_number - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31971,7 +36426,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__Vector @@ -32004,7 +36459,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -32039,14 +36494,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_vector' +- source: input_vector + scopes: + - variable.snake-case + - variable.other.unknown.input_vector + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32065,11 +36530,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val' +- source: test_val + scopes: + - variable.snake-case + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32128,7 +36599,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -32161,7 +36632,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -32195,13 +36666,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32226,10 +36701,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -32239,18 +36718,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32265,11 +36753,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -32289,7 +36781,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32299,14 +36792,19 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val ' +- source: test_val + scopes: + - variable.snake-case + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32379,7 +36877,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IndexOf__In__Vector @@ -32412,7 +36910,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -32446,13 +36944,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32477,10 +36979,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -32490,18 +36996,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32516,11 +37031,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -32545,7 +37064,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32555,14 +37075,19 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val' +- source: test_val + scopes: + - variable.snake-case + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32581,7 +37106,9 @@ - source: return scopes: - keyword.control.return -- source: ' EachItem' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ; scopes: - punctuation.terminator.statement @@ -32641,7 +37168,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: RemoveFirst__From__Vector @@ -32674,7 +37201,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -32701,33 +37228,51 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' element_number ' +- source: element_number + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: IndexOf__In__Vector scopes: - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'element_ ' +- source: element_ + scopes: + - variable.snake-case + - variable.other.unknown.element_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_vector' +- source: input_vector + scopes: + - variable.snake-case + - variable.other.unknown.input_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32739,7 +37284,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32755,7 +37301,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' element_number' +- source: element_number + scopes: + - variable.snake-case + - variable.other.unknown.element_number - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32791,7 +37340,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: NumberOf__In__Vector @@ -32824,7 +37373,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -32851,10 +37400,17 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_of_matches' +- source: number_of_matches + scopes: + - meta.declaration + - variable.other.unknown.number_of_matches + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -32867,13 +37423,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32898,10 +37458,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -32911,18 +37475,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32937,11 +37510,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -32961,7 +37538,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -32971,14 +37549,19 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val ' +- source: test_val + scopes: + - variable.snake-case + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32989,7 +37572,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' number_of_matches' +- source: number_of_matches + scopes: + - variable.other.unknown.number_of_matches - source: ++ scopes: - keyword.operator.increment @@ -33014,7 +37599,9 @@ - source: return scopes: - keyword.control.return -- source: ' number_of_matches' +- source: number_of_matches + scopes: + - variable.other.unknown.number_of_matches - source: ; scopes: - punctuation.terminator.statement @@ -33046,7 +37633,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -33056,13 +37643,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: RemoveDuplicates scopesBegin: @@ -33085,7 +37672,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -33109,17 +37696,35 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' search_vector' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: search_vector + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33132,13 +37737,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -33163,10 +37772,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -33176,18 +37789,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33202,11 +37824,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -33232,7 +37858,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -33243,13 +37870,18 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' search_vector ' +- source: search_vector + scopes: + - variable.snake-case + - variable.other.unknown.search_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -33270,10 +37902,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_vector' +- source: input_vector + scopes: + - variable.snake-case + - variable.other.unknown.input_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -33295,7 +37932,8 @@ - punctuation.section.block.begin.bracket.curly - source: search_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.search_vector - source: . scopes: - punctuation.separator.dot-access @@ -33307,7 +37945,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -33318,6 +37957,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -33349,7 +37990,7 @@ - meta.body.function.definition - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -33379,7 +38020,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -33417,16 +38058,28 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' largest_string ' +- source: largest_string + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -33439,14 +38092,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33457,13 +38120,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' largest_string ' +- source: largest_string + scopes: + - variable.snake-case + - variable.other.unknown.largest_string - source: '=' scopes: - keyword.operator.assignment - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -33479,13 +38146,17 @@ - source: '>' scopes: - keyword.operator.comparison -- source: ' largest_string ' +- source: largest_string + scopes: + - variable.snake-case + - variable.other.unknown.largest_string - source: '?' scopes: - keyword.operator.ternary - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -33501,7 +38172,10 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' largest_string' +- source: largest_string + scopes: + - variable.snake-case + - variable.other.unknown.largest_string - source: ; scopes: - punctuation.terminator.statement @@ -33518,10 +38192,17 @@ - source: ' create a vector of c-strings' scopesEnd: - comment.line.double-slash -- source: ' vector' +- source: vector + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: char scopes: - storage.type.primitive @@ -33531,8 +38212,16 @@ - keyword.operator.arithmetic - source: '>' scopes: - - keyword.operator.comparison -- source: ' vector_of_c_strings' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: vector_of_c_strings + scopes: + - meta.declaration + - variable.other.unknown.vector_of_c_strings + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33545,14 +38234,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33564,16 +38263,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' new_string ' + - storage.modifier.pointer +- source: new_string + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -33589,7 +38298,8 @@ - punctuation.definition.begin.bracket.square - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -33606,6 +38316,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -33617,12 +38328,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_string + scopes: + - variable.snake-case + - variable.other.unknown.new_string - source: ',' scopes: - punctuation.separator.delimiter.comma - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -33643,7 +38358,7 @@ - punctuation.terminator.statement - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -33654,6 +38369,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: new_string + scopes: + - variable.snake-case + - variable.other.unknown.new_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33675,7 +38393,7 @@ - comment.line.double-slash - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -33703,19 +38421,29 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopesBegin: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: '*' scopesEnd: - - keyword.operator.arithmetic -- source: ' output ' + - storage.modifier.pointer +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -33734,7 +38462,7 @@ - punctuation.definition.begin.bracket.square - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -33751,6 +38479,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -33763,7 +38492,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -33781,7 +38510,7 @@ - punctuation.separator.delimiter.comma - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -33797,7 +38526,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -33807,7 +38539,10 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -33839,7 +38574,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -33849,13 +38584,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Slice scopesBegin: @@ -33878,7 +38613,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -33919,17 +38654,35 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: T + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33941,7 +38694,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -33953,13 +38709,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -33975,7 +38735,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -33990,13 +38753,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34014,13 +38781,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34044,7 +38815,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: < scopes: - keyword.operator.comparison @@ -34056,13 +38830,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34078,7 +38856,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement @@ -34093,13 +38874,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34117,13 +38902,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34147,11 +38936,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34163,30 +38958,57 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' swap ' +- source: swap + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' start' + scopesEnd: + - meta.assignment +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement -- source: ' finish ' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment -- source: ' swap' +- source: swap + scopes: + - variable.lower-case + - variable.other.unknown.swap - source: ; scopes: - punctuation.terminator.statement @@ -34204,29 +39026,48 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' finish' +- source: finish + scopes: + - variable.lower-case + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34234,7 +39075,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -34253,6 +39095,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -34267,7 +39112,10 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -34299,7 +39147,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -34309,13 +39157,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Slice scopesBegin: @@ -34338,7 +39186,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34381,12 +39229,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34433,7 +39285,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -34443,13 +39295,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Splice scopesBegin: @@ -34472,7 +39324,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34515,7 +39367,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34536,17 +39388,35 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: T + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -34558,7 +39428,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -34570,13 +39443,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34592,7 +39469,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -34607,13 +39487,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34631,13 +39515,17 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34661,13 +39549,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34683,19 +39575,26 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' count ' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34711,7 +39610,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -34724,10 +39626,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -34737,18 +39644,29 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34756,7 +39674,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -34775,6 +39694,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -34795,10 +39717,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -34808,13 +39735,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: additions scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.additions - source: . scopes: - punctuation.separator.dot-access @@ -34830,10 +39761,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34841,7 +39777,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -34860,6 +39797,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -34880,28 +39820,43 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' start ' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -34917,10 +39872,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34928,7 +39888,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -34947,6 +39908,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -34961,7 +39925,10 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -34993,7 +39960,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -35003,13 +39970,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Splice scopesBegin: @@ -35032,7 +39999,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35073,17 +40040,35 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: T + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' empty' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: empty + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -35097,18 +40082,30 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' empty' +- source: empty + scopes: + - variable.lower-case + - variable.other.unknown.empty - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -35143,7 +40140,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -35153,13 +40150,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Splice scopesBegin: @@ -35182,7 +40179,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35215,7 +40212,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35248,10 +40245,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' start' +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -35261,7 +40264,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' additions' +- source: additions + scopes: + - variable.lower-case + - variable.other.unknown.additions - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -35297,7 +40303,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Index @@ -35321,7 +40327,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35354,16 +40360,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -35375,13 +40392,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -35421,6 +40442,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -35429,7 +40453,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35438,11 +40465,17 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -35495,7 +40528,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: LastIndex @@ -35519,7 +40552,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35552,16 +40585,26 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -35574,6 +40617,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -35586,6 +40631,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35613,6 +40661,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -35621,7 +40672,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35630,11 +40684,17 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: '--' scopes: - keyword.operator.decrement @@ -35686,7 +40746,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -35702,7 +40762,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Indices scopesBegin: @@ -35725,7 +40785,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35755,34 +40815,61 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' indices' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: indices + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -35794,13 +40881,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -35840,6 +40931,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -35848,7 +40942,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35856,7 +40953,8 @@ - meta.parens - source: indices scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.indices - source: . scopes: - punctuation.separator.dot-access @@ -35867,13 +40965,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.lower-case + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -35888,7 +40992,10 @@ - source: return scopes: - keyword.control.return -- source: ' indices' +- source: indices + scopes: + - variable.lower-case + - variable.other.unknown.indices - source: ; scopes: - punctuation.terminator.statement @@ -35921,7 +41028,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Includes @@ -35945,7 +41052,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35992,10 +41099,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' target' +- source: target + scopes: + - variable.lower-case + - variable.other.unknown.target - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36070,7 +41183,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -36111,14 +41224,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -36145,16 +41258,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -36166,7 +41290,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -36200,7 +41327,19 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream all_members' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: all_members + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36219,12 +41358,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -36237,7 +41380,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' all_members ' +- source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -36264,12 +41410,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -36282,7 +41432,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' all_members ' +- source: all_members + scopes: + - variable.snake-case + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -36319,12 +41472,18 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.snake-case + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -36350,7 +41509,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -36385,13 +41545,26 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string all_members_str ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: all_members_str + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.all_members_str - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -36404,10 +41577,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -36418,6 +41596,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members_str + scopes: + - variable.other.unknown.all_members_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36443,7 +41623,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -36485,7 +41668,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -36523,14 +41706,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -36594,6 +41777,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36629,6 +41815,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36643,10 +41832,23 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -36654,9 +41856,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -36676,7 +41883,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -36705,6 +41915,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36737,7 +41950,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -36792,6 +42006,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36807,14 +42024,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: transfer_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36826,13 +42063,17 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -36850,7 +42091,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -36883,11 +42125,35 @@ - source: ' create empty versions of all data members ' scopesEnd: - comment.line.double-slash -- source: ' ANYTYPE datamember1' +- source: ANYTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: datamember1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYSECONDTYPE datamember2' +- source: ANYSECONDTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: datamember2 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36897,11 +42163,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' datamember1 ' +- source: datamember1 + scopes: + - variable.lower-case + - variable.other.unknown.datamember1 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36910,7 +42182,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -36921,6 +42194,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -36933,11 +42208,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' datamember2 ' +- source: datamember2 + scopes: + - variable.lower-case + - variable.other.unknown.datamember2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36946,7 +42227,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -36957,6 +42239,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -36986,6 +42270,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37004,6 +42291,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37020,7 +42310,8 @@ - comment.line.double-slash - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -37030,13 +42321,17 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' datamember1' +- source: datamember1 + scopes: + - variable.lower-case + - variable.other.unknown.datamember1 - source: ; scopes: - punctuation.terminator.statement - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -37046,7 +42341,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' datamember2' +- source: datamember2 + scopes: + - variable.lower-case + - variable.other.unknown.datamember2 - source: ; scopes: - punctuation.terminator.statement @@ -37061,7 +42359,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -37111,7 +42412,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -37152,14 +42453,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -37192,7 +42493,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37226,7 +42530,19 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_members + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -37246,23 +42562,46 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' pair' +- source: pair + scopesBegin: + - meta.parens.control.for + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' each ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_ ' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -37280,17 +42619,26 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' each' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37323,7 +42671,10 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37335,7 +42686,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -37373,7 +42725,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -37415,7 +42770,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -37453,14 +42808,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -37524,6 +42879,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37559,6 +42917,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37573,10 +42934,23 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -37584,9 +42958,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -37606,7 +42985,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -37635,6 +43017,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37667,7 +43052,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -37722,6 +43108,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37737,14 +43126,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: transfer_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -37756,13 +43165,17 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -37780,7 +43193,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -37821,7 +43235,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -37846,7 +43263,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -37858,35 +43278,78 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' pair' +- source: pair + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' data_member' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: data_member + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' map' +- source: map + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' data_member_holder' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: data_member_holder + scopes: + - meta.declaration + - variable.other.unknown.data_member_holder + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -37913,10 +43376,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_member' +- source: data_member + scopes: + - variable.snake-case + - variable.other.unknown.data_member - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37925,7 +43394,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -37936,6 +43406,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -37957,6 +43429,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37980,6 +43455,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38001,7 +43479,8 @@ - punctuation.definition.begin.bracket.square - source: data_member scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_member - source: . scopes: - punctuation.separator.dot-access @@ -38018,7 +43497,8 @@ - keyword.operator.assignment - source: data_member scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_member - source: . scopes: - punctuation.separator.dot-access @@ -38052,6 +43532,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38071,11 +43554,16 @@ - source: ' add the data to the input ' scopesEnd: - comment.line.double-slash -- source: ' input_ ' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: '=' scopes: - keyword.operator.assignment -- source: ' data_member_holder' +- source: data_member_holder + scopes: + - variable.other.unknown.data_member_holder - source: ; scopes: - punctuation.terminator.statement @@ -38090,7 +43578,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -38144,7 +43635,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__KeyIn__Map @@ -38177,14 +43668,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38224,7 +43715,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_map scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_map - source: . scopes: - punctuation.separator.dot-access @@ -38235,6 +43727,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: key + scopes: + - variable.lower-case + - variable.other.unknown.key - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38243,7 +43738,8 @@ - keyword.operator.comparison - source: input_map scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_map - source: . scopes: - punctuation.separator.dot-access @@ -38317,7 +43813,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__ValueIn__Map @@ -38350,14 +43846,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38396,6 +43892,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -38405,11 +43903,17 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each ' -- source: ':' +- source: each scopes: - - punctuation.separator.colon.range-based -- source: ' input_map ' + - variable.lower-case + - variable.other.unknown.each +- source: ' : ' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -38430,7 +43934,8 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -38440,7 +43945,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -38517,7 +44025,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: KeyOfFirst__ValueIn__Map scopesBegin: @@ -38549,14 +44057,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38595,6 +44103,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -38604,11 +44114,17 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each ' -- source: ':' +- source: each scopes: - - punctuation.separator.colon.range-based -- source: ' input_map ' + - variable.lower-case + - variable.other.unknown.each +- source: ' : ' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -38629,7 +44145,8 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -38639,7 +44156,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -38655,7 +44175,8 @@ - keyword.control.return - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -38675,14 +44196,29 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' ANYSECONDTYPE null_' +- source: ANYSECONDTYPE + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: null_ + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' null_' +- source: null_ + scopes: + - variable.snake-case + - variable.other.unknown.null_ - source: ; scopes: - punctuation.terminator.statement @@ -38715,7 +44251,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -38748,14 +44284,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38793,10 +44329,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38829,10 +44371,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38897,7 +44445,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -38930,14 +44478,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38975,10 +44523,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39034,7 +44588,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -39067,14 +44621,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -39112,10 +44666,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.snake-case + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39269,7 +44829,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Type scopesBegin: @@ -39299,31 +44859,61 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' status' +- source: status + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' demangled ' + - storage.modifier.pointer +- source: demangled + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: abi scopes: - entity.name.scope-resolution @@ -39347,6 +44937,8 @@ - source: input scopes: - meta.arguments.operator.typeid + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -39381,17 +44973,28 @@ scopes: - keyword.operator.bitwise - source: status + scopes: + - variable.lower-case + - variable.other.unknown.status - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' demangled ' +- source: demangled + scopes: + - variable.lower-case + - variable.other.unknown.demangled - source: ; scopes: - punctuation.terminator.statement @@ -39402,6 +45005,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: demangled + scopes: + - variable.lower-case + - variable.other.unknown.demangled - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39413,7 +45019,8 @@ - keyword.control.return - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -39527,39 +45134,96 @@ - source: ' data' scopesEnd: - comment.line.double-slash -- source: ' vector' +- source: vector + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ITEM + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vector_ ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: vector_ + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ITEM + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' values ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: values + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' names ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: names + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -39587,7 +45251,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: NumberOfItems @@ -39616,7 +45280,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -39634,7 +45299,8 @@ - keyword.operator.arithmetic - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -39687,7 +45353,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AddToBottom @@ -39724,11 +45390,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: 'vector_ ' +- source: vector_ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -39740,14 +45407,20 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39792,7 +45465,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Remove__ThItem @@ -39844,13 +45517,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' item_position ' +- source: item_position + scopes: + - variable.snake-case + - variable.other.unknown.item_position - source: '>' scopes: - keyword.operator.comparison - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -39867,7 +45544,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.or -- source: ' item_position ' +- source: item_position + scopes: + - variable.snake-case + - variable.other.unknown.item_position - source: < scopes: - keyword.operator.comparison @@ -39928,7 +45608,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'item_position ' +- source: item_position + scopes: + - variable.snake-case + - variable.other.unknown.item_position - source: '-' scopes: - keyword.operator.arithmetic @@ -39943,7 +45626,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vector_' +- source: vector_ + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39968,7 +45654,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Remove__ @@ -40015,13 +45701,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'names ' +- source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -40046,10 +45736,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -40059,18 +45753,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -40085,11 +45788,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -40107,13 +45814,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' name ' +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -40124,6 +45835,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -40144,10 +45857,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names ' +- source: names + scopes: + - variable.lower-case + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40161,10 +45879,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' values' +- source: values + scopes: + - variable.lower-case + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40217,7 +45940,7 @@ - source: List scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -40227,13 +45950,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: From__To__ scopesBegin: @@ -40286,17 +46009,35 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' List' +- source: List scopesBegin: - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ITEM + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' output_list' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: output_list + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -40309,7 +46050,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -40318,11 +46062,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ending_spot ' +- source: ending_spot + scopes: + - variable.snake-case + - variable.other.unknown.ending_spot - source: '-' scopes: - keyword.operator.arithmetic -- source: ' starting_spot ' +- source: starting_spot + scopes: + - variable.snake-case + - variable.other.unknown.starting_spot - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -40346,10 +46096,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -40359,18 +46113,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -40383,7 +46146,8 @@ - punctuation.section.block.begin.bracket.curly - source: output_list scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.output_list - source: . scopes: - punctuation.separator.dot-access @@ -40395,7 +46159,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -40406,6 +46171,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -40434,7 +46201,10 @@ - source: return scopes: - keyword.control.return -- source: ' output_list' +- source: output_list + scopes: + - variable.snake-case + - variable.other.unknown.output_list - source: ; scopes: - punctuation.terminator.statement @@ -40459,7 +46229,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -40469,13 +46239,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Data scopesBegin: @@ -40501,11 +46271,17 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' vector_ ' +- source: vector_ + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: + scopes: - keyword.operator.arithmetic -- source: ' values' +- source: values + scopes: + - variable.lower-case + - variable.other.unknown.values - source: ; scopes: - punctuation.terminator.statement @@ -40526,7 +46302,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -40536,13 +46312,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Vector scopesBegin: @@ -40568,7 +46344,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' vector_' +- source: vector_ + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: ; scopes: - punctuation.terminator.statement @@ -40589,7 +46368,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -40599,13 +46378,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Names scopesBegin: @@ -40631,7 +46410,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' names' +- source: names + scopes: + - variable.lower-case + - variable.other.unknown.names - source: ; scopes: - punctuation.terminator.statement @@ -40652,7 +46434,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -40662,13 +46444,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: NamedValues scopesBegin: @@ -40694,7 +46476,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' values' +- source: values + scopes: + - variable.lower-case + - variable.other.unknown.values - source: ; scopes: - punctuation.terminator.statement @@ -40735,7 +46520,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__AName @@ -40775,20 +46560,40 @@ - source: ' if its not a string then it can''t be a name ' scopesEnd: - comment.line.double-slash -- source: ' ITEM input_as_item ' +- source: ITEM + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: input_as_item + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.input_as_item - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -40802,7 +46607,7 @@ - punctuation.section.parens.begin.bracket.round - source: input_as_item scopes: - - variable.other.object.access + - variable.other.unknown.input_as_item - source: . scopes: - punctuation.separator.dot-access @@ -40864,7 +46669,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_as_item scopes: - - variable.other.object.access + - variable.other.unknown.input_as_item - source: . scopes: - punctuation.separator.dot-access @@ -40880,7 +46685,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names' +- source: names + scopes: + - variable.lower-case + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40924,7 +46732,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__ANamedValue @@ -40968,18 +46776,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: values + scopes: + - variable.lower-case + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41023,7 +46840,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__AVectorValue @@ -41067,18 +46884,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vector_ + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41122,7 +46948,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__AValue @@ -41171,18 +46997,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: values + scopes: + - variable.lower-case + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41216,18 +47051,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vector_ + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41291,7 +47135,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Has @@ -41335,14 +47179,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call @@ -41357,14 +47208,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call @@ -41379,14 +47237,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call @@ -41411,7 +47276,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: SizeOfLargestName @@ -41436,16 +47301,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' largest_size ' +- source: largest_size + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -41458,6 +47334,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -41467,11 +47345,17 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each ' -- source: ':' +- source: each scopes: - - punctuation.separator.colon.range-based -- source: ' names ' + - variable.lower-case + - variable.other.unknown.each +- source: ' : ' +- source: names + scopes: + - variable.lower-case + - variable.other.unknown.names + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -41492,7 +47376,8 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -41508,7 +47393,10 @@ - source: '>' scopes: - keyword.operator.comparison -- source: ' largest_size' +- source: largest_size + scopes: + - variable.snake-case + - variable.other.unknown.largest_size - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -41519,13 +47407,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' largest_size ' +- source: largest_size + scopes: + - variable.snake-case + - variable.other.unknown.largest_size - source: '=' scopes: - keyword.operator.assignment - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -41554,7 +47446,10 @@ - source: return scopes: - keyword.control.return -- source: ' largest_size' +- source: largest_size + scopes: + - variable.snake-case + - variable.other.unknown.largest_size - source: ; scopes: - punctuation.terminator.statement @@ -41576,7 +47471,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Sample scopesBegin: @@ -41616,7 +47511,8 @@ - punctuation.section.parens.begin.bracket.round - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -41659,16 +47555,26 @@ - punctuation.terminator.statement - source: short scopesBegin: + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' first_few ' +- source: first_few + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -41676,7 +47582,8 @@ - punctuation.section.parens.begin.bracket.round - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -41711,7 +47618,8 @@ - keyword.operator.ternary - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -41724,13 +47632,28 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_string ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -41740,6 +47663,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -41753,11 +47677,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' first_few ' +- source: first_few + scopes: + - variable.snake-case + - variable.other.unknown.first_few - source: ; scopes: - punctuation.terminator.statement @@ -41770,10 +47700,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -41783,18 +47717,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -41805,17 +47748,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -41826,6 +47776,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -41879,7 +47831,10 @@ - source: return scopes: - keyword.control.return -- source: ' output_string' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ; scopes: - punctuation.terminator.statement @@ -41901,7 +47856,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -41938,13 +47893,21 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_in_bounds ' +- source: is_in_bounds + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.is_in_bounds - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: abs scopes: - entity.name.function.call @@ -41952,6 +47915,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41960,7 +47926,8 @@ - keyword.operator.comparison - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -41976,31 +47943,51 @@ - source: '&&' scopes: - keyword.operator.logical -- source: ' position ' +- source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: '!=' scopes: - keyword.operator.comparison - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_negative ' +- source: is_negative + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' position ' + scopesEnd: + - meta.assignment +- source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: < scopes: - keyword.operator.comparison - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -42012,7 +47999,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' is_in_bounds ' +- source: is_in_bounds + scopes: + - variable.other.unknown.is_in_bounds - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -42031,7 +48020,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' is_negative ' +- source: is_negative + scopes: + - variable.snake-case + - variable.other.unknown.is_negative - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -42063,7 +48055,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42075,7 +48068,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42091,7 +48085,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' position' +- source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42116,7 +48113,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42127,6 +48125,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic @@ -42165,7 +48166,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' is_negative ' +- source: is_negative + scopes: + - variable.snake-case + - variable.other.unknown.is_negative - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -42203,6 +48207,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42303,20 +48310,34 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' missing_items ' +- source: missing_items + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' position ' + scopesEnd: + - meta.assignment +- source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42329,6 +48350,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -42341,11 +48364,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' missing_items ' +- source: missing_items + scopes: + - variable.snake-case + - variable.other.unknown.missing_items - source: ; scopes: - punctuation.terminator.statement @@ -42358,10 +48387,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -42371,18 +48404,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -42395,7 +48437,8 @@ - punctuation.section.block.begin.bracket.curly - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42407,13 +48450,16 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42435,7 +48481,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42446,6 +48493,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic @@ -42498,7 +48548,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -42574,6 +48624,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42609,6 +48662,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42623,10 +48679,23 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -42634,9 +48703,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -42656,7 +48730,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -42685,6 +48762,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42717,7 +48797,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -42772,6 +48853,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42787,14 +48871,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: transfer_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -42806,13 +48910,17 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -42830,7 +48938,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -42869,11 +48978,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vector_ ' +- source: vector_ + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42882,7 +48997,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -42893,6 +49009,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42905,11 +49023,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' values ' +- source: values + scopes: + - variable.lower-case + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42918,7 +49042,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -42929,6 +49054,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42941,11 +49068,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names ' +- source: names + scopes: + - variable.lower-case + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42954,7 +49087,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -42965,6 +49099,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42994,6 +49130,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -43012,6 +49151,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -43029,7 +49171,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -43051,7 +49196,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -43111,6 +49256,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: position + scopes: + - variable.lower-case + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43125,7 +49273,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -43174,16 +49322,26 @@ - comment.line.double-slash - source: long scopesBegin: + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index_ ' +- source: index_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: IndexOf__In__Vector scopes: - entity.name.function.call @@ -43191,13 +49349,21 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names' +- source: names + scopes: + - variable.lower-case + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -43209,7 +49375,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' index_ ' +- source: index_ + scopes: + - variable.snake-case + - variable.other.unknown.index_ - source: '!=' scopes: - keyword.operator.comparison @@ -43234,7 +49403,8 @@ - keyword.control.return - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -43245,6 +49415,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index_ + scopes: + - variable.snake-case + - variable.other.unknown.index_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43272,9 +49445,10 @@ - source: ' add the name ' scopesEnd: - comment.line.double-slash -- source: 'names ' +- source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -43284,7 +49458,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' name ' +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43293,7 +49470,8 @@ - punctuation.terminator.statement - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -43305,13 +49483,16 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43331,7 +49512,8 @@ - keyword.control.return - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -43343,7 +49525,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -43402,7 +49585,7 @@ - source: List scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43412,13 +49595,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '&' scopes: @@ -43448,7 +49631,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -43476,9 +49659,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector_ ' +- source: vector_ scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: '=' scopes: - keyword.operator.assignment @@ -43504,13 +49690,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'assignment_data ' +- source: assignment_data scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.assignment_data - source: . scopes: - punctuation.separator.dot-access @@ -43535,10 +49725,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -43548,18 +49742,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -43574,11 +49777,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -43590,7 +49797,8 @@ - punctuation.terminator.statement - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -43608,7 +49816,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: assignment_data scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.assignment_data - source: . scopes: - punctuation.separator.dot-access @@ -43619,6 +49828,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43661,7 +49872,7 @@ - meta.body.function.definition.special.operator-overload - source: List scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43671,13 +49882,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '&' scopes: @@ -43707,7 +49918,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -43735,13 +49946,19 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector_ ' +- source: vector_ scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.snake-case + - variable.other.unknown.vector_ - source: '=' scopes: - keyword.operator.assignment -- source: ' assignment_data' +- source: assignment_data + scopes: + - variable.snake-case + - variable.other.unknown.assignment_data - source: ; scopes: - punctuation.terminator.statement @@ -43809,7 +50026,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -43850,7 +50067,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -43883,7 +50100,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -43917,7 +50137,19 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_members + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -43935,13 +50167,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -43960,7 +50196,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -43986,13 +50225,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44011,7 +50254,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -44037,13 +50283,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44062,7 +50312,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -44090,7 +50343,10 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -44102,7 +50358,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -44140,7 +50397,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -44173,7 +50433,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -44211,7 +50471,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -44242,7 +50502,8 @@ - keyword.control.return - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44253,6 +50514,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44296,7 +50560,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -44322,7 +50586,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -44365,7 +50629,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44402,7 +50667,8 @@ - keyword.operator.and - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44443,7 +50709,18 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream named_values_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: named_values_stream + scopes: + - meta.declaration + - variable.other.unknown.named_values_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -44456,13 +50733,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44499,10 +50780,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -44512,18 +50797,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -44538,11 +50832,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -44552,7 +50850,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' named_values_stream ' +- source: named_values_stream + scopes: + - variable.other.unknown.named_values_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -44573,7 +50873,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44596,6 +50897,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44618,7 +50921,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44641,6 +50945,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44701,7 +51007,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44745,7 +51052,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: named_values_stream scopes: - - variable.other.object.access + - variable.other.unknown.named_values_stream - source: . scopes: - punctuation.separator.dot-access @@ -44790,7 +51097,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44859,7 +51167,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44904,7 +51213,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -44945,7 +51255,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream output_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -44958,13 +51280,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -45001,10 +51327,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -45014,18 +51344,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -45040,11 +51379,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -45054,7 +51397,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.snake-case + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45075,7 +51421,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -45098,6 +51445,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -45120,7 +51469,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -45143,6 +51493,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -45203,7 +51555,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.output_stream - source: . scopes: - punctuation.separator.dot-access @@ -45295,7 +51648,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -45340,7 +51693,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -45370,7 +51723,10 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45381,6 +51737,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45417,7 +51776,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -45459,7 +51818,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -45496,10 +51855,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45533,11 +51898,15 @@ - source: List scopes: - entity.name.function.preprocessor -- source: ' List' +- source: List + scopes: + - variable.other.unknown.List - source: < scopes: - keyword.operator.comparison - source: Item + scopes: + - variable.other.unknown.Item - source: '>' scopes: - keyword.operator.comparison @@ -45563,7 +51932,9 @@ - source: var scopes: - entity.name.function.preprocessor -- source: ' Item' +- source: Item + scopes: + - variable.other.unknown.Item scopesEnd: - meta.preprocessor.macro - source: // @@ -45601,7 +51972,19 @@ - source: ' data' scopesEnd: - comment.line.double-slash -- source: ' string data' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -45613,7 +51996,19 @@ - source: ' later turn both of these into some kind of binary' scopesEnd: - comment.line.double-slash -- source: ' string type' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: type + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -45650,7 +52045,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -45668,7 +52066,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -45704,7 +52105,11 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' input_string[] ' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string +- source: '[] ' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45713,15 +52118,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -45753,7 +52167,14 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' string input_string ' +- source: string + scopes: + - variable.lower-case + - variable.other.unknown.string +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45762,15 +52183,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -45806,7 +52236,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' input_ ' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45815,7 +52248,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream input_method' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: input_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -45827,7 +52272,10 @@ - source: ' precision should max out before 20' scopesEnd: - comment.line.double-slash -- source: ' input_method ' +- source: input_method + scopes: + - variable.snake-case + - variable.other.unknown.input_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45846,17 +52294,24 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_ ' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_method - source: . scopes: - punctuation.separator.dot-access @@ -45872,7 +52327,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -45923,7 +52381,14 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' ANYTYPE input ' +- source: ANYTYPE + scopes: + - variable.upper-case + - variable.other.unknown.ANYTYPE +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45932,7 +52397,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream data_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -45943,10 +52420,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45961,7 +52444,10 @@ - source: ' get the name' scopesEnd: - comment.line.double-slash -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -45987,20 +52473,27 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_stream' +- source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment - source: type scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.type - source: . scopes: - punctuation.separator.dot-access @@ -46018,7 +52511,8 @@ - punctuation.separator.delimiter.comma - source: type scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.type - source: . scopes: - punctuation.separator.dot-access @@ -46051,10 +52545,23 @@ - source: ' get the content' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -46062,9 +52569,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -46076,13 +52588,17 @@ - source: ' remove the closing newline' scopesEnd: - comment.line.double-slash -- source: ' content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46100,7 +52616,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46125,11 +52642,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -46141,7 +52664,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '==' scopes: - keyword.operator.comparison @@ -46159,7 +52685,10 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '==' scopes: - keyword.operator.comparison @@ -46179,7 +52708,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -46214,7 +52746,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Type scopesBegin: @@ -46240,7 +52772,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: ; scopes: - punctuation.terminator.statement @@ -46251,7 +52786,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Data scopesBegin: @@ -46277,7 +52812,10 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ; scopes: - punctuation.terminator.statement @@ -46288,7 +52826,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Remove0s scopesBegin: @@ -46326,6 +52864,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46339,6 +52880,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46368,6 +52912,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -46401,7 +52948,10 @@ - source: return scopes: - keyword.control.return -- source: ' data' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ; scopes: - punctuation.terminator.statement @@ -46417,7 +52967,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -46493,6 +53043,9 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46528,6 +53081,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46542,10 +53098,23 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -46553,9 +53122,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -46575,7 +53149,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -46604,6 +53181,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46636,7 +53216,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46691,6 +53272,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46706,14 +53290,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: transfer_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -46725,13 +53329,17 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46749,7 +53357,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46788,11 +53397,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46801,7 +53416,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -46812,6 +53428,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46824,11 +53442,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46837,7 +53461,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -46848,6 +53473,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46877,6 +53504,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.snake-case + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46895,6 +53525,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46928,7 +53561,10 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -46954,7 +53590,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -46998,15 +53634,19 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -47022,13 +53662,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -47064,7 +53708,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47115,17 +53759,26 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47163,7 +53816,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47204,17 +53857,26 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.snake-case + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47252,7 +53914,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47294,9 +53956,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -47307,13 +53972,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_inputeger + scopes: + - variable.snake-case + - variable.other.unknown.the_inputeger - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47351,7 +54022,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47393,9 +54064,20 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' stringstream input_method' +- source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: input_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -47407,7 +54089,10 @@ - source: ' precision should max out before 20' scopesEnd: - comment.line.double-slash -- source: ' input_method ' +- source: input_method + scopes: + - variable.snake-case + - variable.other.unknown.input_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -47426,17 +54111,24 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_ ' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_method - source: . scopes: - punctuation.separator.dot-access @@ -47452,7 +54144,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47490,7 +54185,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47532,9 +54227,20 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' stringstream input_method' +- source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: input_method + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -47546,7 +54252,10 @@ - source: ' precision should max out before 20' scopesEnd: - comment.line.double-slash -- source: ' input_method ' +- source: input_method + scopes: + - variable.snake-case + - variable.other.unknown.input_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -47565,17 +54274,24 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_ ' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_method - source: . scopes: - punctuation.separator.dot-access @@ -47591,7 +54307,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47651,7 +54370,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47689,27 +54408,48 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' stringstream data_stream' +- source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' data_stream ' +- source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: data_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_stream - source: . scopes: - punctuation.separator.dot-access @@ -47725,7 +54465,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47800,7 +54543,10 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' data' +- source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ; scopes: - punctuation.terminator.statement @@ -47844,7 +54590,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' type ' +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type - source: '==' scopes: - keyword.operator.comparison @@ -47879,6 +54628,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47927,6 +54679,9 @@ scopes: - keyword.operator.arithmetic - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47967,7 +54722,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -48027,7 +54782,10 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48061,7 +54819,19 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_members + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48079,13 +54849,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48104,7 +54878,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48130,13 +54907,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48155,7 +54936,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48183,7 +54967,10 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48195,7 +54982,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -48217,7 +55005,10 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -48228,7 +55019,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -48283,7 +55074,8 @@ - keyword.control.return - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48294,6 +55086,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48307,7 +55102,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AsData scopesBegin: @@ -48343,9 +55138,20 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream out' +- source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: out + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48357,13 +55163,17 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48395,7 +55205,19 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_members + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48407,13 +55229,17 @@ - source: ' for each datamember' scopesEnd: - comment.line.double-slash -- source: ' data_members ' +- source: data_members + scopes: + - variable.snake-case + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48453,7 +55279,10 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48465,7 +55294,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -48489,7 +55319,8 @@ - keyword.control.return - source: out scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.out - source: . scopes: - punctuation.separator.dot-access @@ -48527,7 +55358,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -48602,7 +55433,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48637,7 +55469,10 @@ - source: return scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48649,7 +55484,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48686,7 +55522,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48731,7 +55568,19 @@ - source: ' create a blank list ' scopesEnd: - comment.line.double-slash -- source: ' List blank_list' +- source: List + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: blank_list + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48743,11 +55592,26 @@ - source: ' put the data into a stream' scopesEnd: - comment.line.double-slash -- source: ' stringstream data_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: data_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' data_stream ' +- source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48758,6 +55622,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48765,10 +55632,18 @@ scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48787,10 +55662,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.snake-case + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' blank_list' +- source: blank_list + scopes: + - variable.snake-case + - variable.other.unknown.blank_list - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48808,11 +55689,17 @@ - source: return scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' blank_list' +- source: blank_list + scopes: + - variable.snake-case + - variable.other.unknown.blank_list - source: ; scopes: - punctuation.terminator.statement @@ -48824,13 +55711,17 @@ - source: return scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48854,7 +55745,7 @@ - meta.body.function.definition.special.operator-overload - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -48919,10 +55810,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.snake-case + - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48952,7 +55849,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -49009,9 +55906,20 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -49024,10 +55932,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -49037,28 +55950,45 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' repetitions' +- source: repetitions + scopes: + - variable.lower-case + - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound -- source: ' base' +- source: base + scopes: + - variable.lower-case + - variable.other.unknown.base - source: ; scopes: - punctuation.terminator.statement @@ -49072,6 +56002,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: result + scopes: + - variable.lower-case + - variable.other.unknown.result - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49086,7 +56019,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -49162,7 +56095,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49210,7 +56144,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49226,7 +56161,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49268,7 +56206,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49298,7 +56237,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49318,7 +56260,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -49387,7 +56329,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49442,7 +56385,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49461,7 +56405,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -49501,6 +56448,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49523,7 +56473,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49550,7 +56501,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -49619,7 +56570,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49674,7 +56626,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49693,7 +56646,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -49733,6 +56689,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49755,7 +56714,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49782,7 +56742,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -49850,7 +56810,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49896,13 +56857,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49943,13 +56908,17 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -49981,7 +56950,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -50056,7 +57025,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50104,7 +57074,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50120,7 +57091,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50162,7 +57136,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50192,7 +57167,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50212,7 +57190,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -50281,7 +57259,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50330,7 +57309,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50349,7 +57329,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50386,6 +57369,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50408,7 +57394,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50435,7 +57422,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -50504,7 +57491,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50553,7 +57541,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50572,7 +57561,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50609,6 +57601,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50631,7 +57626,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50658,7 +57654,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -50726,7 +57722,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50774,7 +57771,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50790,7 +57788,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50821,7 +57822,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50837,7 +57839,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50857,7 +57862,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -50925,7 +57930,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -50957,7 +57963,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -51011,7 +58018,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -51038,7 +58046,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -51084,7 +58093,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -51102,7 +58112,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -51145,7 +58156,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -51214,7 +58225,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51255,7 +58267,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: '-' scopes: - keyword.operator.arithmetic @@ -51267,7 +58282,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51319,6 +58335,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51341,7 +58360,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51368,7 +58388,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -51437,7 +58457,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51478,7 +58499,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: '-' scopes: - keyword.operator.arithmetic @@ -51490,7 +58514,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51542,6 +58567,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51564,7 +58592,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51591,7 +58620,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -51660,7 +58689,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51709,7 +58739,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51728,7 +58759,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51760,7 +58794,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51797,6 +58832,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -51814,7 +58852,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -51883,7 +58921,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51924,7 +58963,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: '-' scopes: - keyword.operator.arithmetic @@ -51936,7 +58978,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -51983,7 +59026,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -52020,6 +59064,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -52037,7 +59084,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -52105,7 +59152,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -52137,7 +59185,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -52197,7 +59246,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -52224,7 +59274,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -52325,7 +59376,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -52357,7 +59409,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -52416,7 +59469,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -52484,7 +59537,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -52543,7 +59597,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -52594,7 +59649,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -52632,13 +59688,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stoi scopes: - entity.name.function.call @@ -52647,7 +59713,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -52663,6 +59730,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -52674,7 +59743,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -52741,7 +59813,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -52758,7 +59833,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52771,11 +59858,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -52788,10 +59881,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -52801,18 +59898,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -52823,15 +59929,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ; scopes: - punctuation.terminator.statement @@ -52855,6 +59970,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52915,7 +60033,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -52984,7 +60102,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53022,13 +60141,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -53048,11 +60177,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -53065,7 +60198,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -53132,7 +60268,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -53149,7 +60288,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -53162,11 +60313,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -53179,10 +60336,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -53192,18 +60353,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -53214,17 +60384,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53260,6 +60437,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -53325,7 +60505,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53371,7 +60552,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -53383,7 +60567,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53418,7 +60603,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53487,7 +60672,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53525,13 +60711,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -53551,11 +60747,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -53568,7 +60768,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -53635,7 +60838,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -53652,7 +60858,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -53665,11 +60883,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -53682,10 +60906,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -53695,18 +60923,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -53717,17 +60954,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53763,6 +61007,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -53828,7 +61075,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53874,7 +61122,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -53886,7 +61137,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53921,7 +61173,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53996,13 +61248,19 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: '*' scopes: - keyword.operator.arithmetic -- source: ' input_item' +- source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54017,7 +61275,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -54086,7 +61344,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54124,13 +61383,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -54150,11 +61419,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -54167,7 +61440,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -54234,7 +61510,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -54251,7 +61530,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -54264,11 +61555,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -54281,10 +61578,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -54294,18 +61595,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54316,17 +61626,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54362,6 +61679,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54427,7 +61747,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54473,7 +61794,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -54485,7 +61809,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54520,7 +61845,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -54589,7 +61914,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54627,13 +61953,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -54653,11 +61989,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -54670,7 +62010,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -54737,7 +62080,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -54754,7 +62100,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -54767,11 +62125,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -54784,10 +62148,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -54797,18 +62165,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54819,17 +62196,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54865,6 +62249,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54930,7 +62317,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54976,7 +62364,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -54988,7 +62379,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55023,7 +62415,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55091,7 +62483,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55169,7 +62562,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55207,13 +62601,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stoi scopes: - entity.name.function.call @@ -55222,7 +62626,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55238,6 +62643,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -55249,7 +62656,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -55316,7 +62726,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -55333,7 +62746,19 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: output_string + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -55346,11 +62771,17 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.snake-case + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -55363,10 +62794,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -55376,18 +62811,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -55398,15 +62842,24 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ; scopes: - punctuation.terminator.statement @@ -55430,6 +62883,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.snake-case + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -55490,7 +62946,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55558,7 +63014,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'input_item ' +- source: input_item + scopes: + - variable.snake-case + - variable.other.unknown.input_item - source: '*' scopes: - keyword.operator.arithmetic @@ -55569,6 +63028,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -55586,7 +63048,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55659,7 +63121,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55691,7 +63154,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -55742,7 +63206,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'input_item1 ' +- source: input_item1 + scopes: + - variable.snake-case + - variable.other.unknown.input_item1 - source: '*' scopes: - keyword.operator.arithmetic @@ -55754,7 +63221,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -55799,7 +63267,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55831,7 +63300,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -55890,7 +63360,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55909,7 +63380,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' input_item2' +- source: input_item2 + scopes: + - variable.snake-case + - variable.other.unknown.input_item2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -55939,7 +63413,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55971,7 +63446,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56030,7 +63506,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -56057,7 +63534,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56157,7 +63635,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -56189,7 +63668,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -56221,7 +63701,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56253,7 +63734,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56312,7 +63794,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -56381,7 +63863,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56426,7 +63909,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: '==' scopes: - keyword.operator.comparison @@ -56507,7 +63993,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56526,7 +64013,10 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -56587,7 +64077,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -56656,7 +64146,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56710,7 +64201,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56729,7 +64221,10 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -56785,7 +64280,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -56854,7 +64349,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56908,7 +64404,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56927,7 +64424,10 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -56983,7 +64483,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -57052,7 +64552,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57105,7 +64606,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57182,7 +64684,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -57194,7 +64699,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57239,7 +64745,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57292,7 +64799,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57331,7 +64839,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57417,7 +64926,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -57429,7 +64941,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57474,7 +64987,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57527,7 +65041,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57566,7 +65081,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57652,7 +65168,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -57664,7 +65183,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57740,7 +65260,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -57809,7 +65329,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57862,7 +65383,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57939,7 +65461,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -57951,7 +65476,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57996,7 +65522,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58049,7 +65576,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58088,7 +65616,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58174,7 +65703,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -58186,7 +65718,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58231,7 +65764,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58284,7 +65818,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58323,7 +65858,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58409,7 +65945,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -58421,7 +65960,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58497,7 +66037,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -58566,7 +66106,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58619,7 +66160,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58696,7 +66238,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -58708,7 +66253,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58753,7 +66299,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58806,7 +66353,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58845,7 +66393,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58931,242 +66480,252 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' -- source: / - scopes: - - keyword.operator.arithmetic -- source: stold - scopes: - - entity.name.function.call -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: input_item - scopes: - - variable.other.object.access -- source: . - scopes: - - punctuation.separator.dot-access -- source: Data - scopes: - - entity.name.function.member -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.member -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.member -- source: ) - scopesBegin: - - punctuation.section.arguments.end.bracket.round.function.call -- source: ) - scopesEnd: - - punctuation.section.arguments.end.bracket.round.function.call -- source: ; - scopes: - - punctuation.terminator.statement -- source: '}' - scopes: - - punctuation.section.block.end.bracket.curly - scopesEnd: - - meta.block -- source: '}' - scopes: - - punctuation.section.block.end.bracket.curly - scopesEnd: - - meta.block -- source: else - scopes: - - keyword.control.else -- source: if - scopes: - - keyword.control.if -- source: ( - scopesBegin: - - meta.parens - scopes: - - punctuation.section.parens.begin.bracket.round -- source: input_item - scopes: - - variable.other.object.access -- source: . - scopes: - - punctuation.separator.dot-access -- source: Type - scopes: - - entity.name.function.member -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.member -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.member -- source: '==' - scopes: - - keyword.operator.comparison -- source: '"' - scopesBegin: - - string.quoted.double - scopes: - - punctuation.definition.string.begin -- source: float -- source: '"' - scopes: - - punctuation.definition.string.end - scopesEnd: - - string.quoted.double -- source: ) - scopes: - - punctuation.section.parens.end.bracket.round - scopesEnd: - - meta.parens -- source: '{' - scopesBegin: - - meta.block - scopes: - - punctuation.section.block.begin.bracket.curly -- source: if - scopes: - - keyword.control.if -- source: ( - scopesBegin: - - meta.parens - scopes: - - punctuation.section.parens.begin.bracket.round -- source: stof - scopes: - - entity.name.function.call -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: input_item - scopes: - - variable.other.object.access -- source: . - scopes: - - punctuation.separator.dot-access -- source: Data - scopes: - - entity.name.function.member -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.member -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.member -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.call -- source: < - scopes: - - keyword.operator.comparison -- source: '0' - scopes: - - constant.numeric.decimal -- source: . - scopes: - - constant.numeric.decimal.point -- source: '00001' - scopes: - - constant.numeric.decimal -- source: '&&' - scopes: - - keyword.operator.logical -- source: stof - scopes: - - entity.name.function.call -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: input_item - scopes: - - variable.other.object.access -- source: . - scopes: - - punctuation.separator.dot-access -- source: Data - scopes: - - entity.name.function.member -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.member -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.member -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.call -- source: '>' - scopes: - - keyword.operator.comparison -- source: '-' - scopes: - - keyword.operator.arithmetic -- source: '0' - scopes: - - constant.numeric.decimal -- source: . - scopes: - - constant.numeric.decimal.point -- source: '00001' - scopes: - - constant.numeric.decimal -- source: ) - scopes: - - punctuation.section.parens.end.bracket.round - scopesEnd: - - meta.parens -- source: '{' - scopesBegin: - - meta.block - scopes: - - punctuation.section.block.begin.bracket.curly -- source: Error - scopes: - - entity.name.function.call -- source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: '"' - scopesBegin: - - string.quoted.double - scopes: - - punctuation.definition.string.begin -- source: Division by 0 somewhere -- source: '"' - scopes: - - punctuation.definition.string.end - scopesEnd: - - string.quoted.double -- source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.call -- source: ; - scopes: - - punctuation.terminator.statement -- source: '}' - scopes: - - punctuation.section.block.end.bracket.curly - scopesEnd: - - meta.block -- source: else - scopes: - - keyword.control.else -- source: '{' - scopesBegin: - - meta.block - scopes: - - punctuation.section.block.begin.bracket.curly -- source: return - scopes: - - keyword.control.return -- source: Item - scopes: - - entity.name.function.call -- source: ( +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input +- source: / + scopes: + - keyword.operator.arithmetic +- source: stold + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: input_item + scopes: + - variable.snake-case + - variable.other.object.access.input_item +- source: . + scopes: + - punctuation.separator.dot-access +- source: Data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: input_item + scopes: + - variable.snake-case + - variable.other.object.access.input_item +- source: . + scopes: + - punctuation.separator.dot-access +- source: Type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: float +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: stof + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: input_item + scopes: + - variable.snake-case + - variable.other.object.access.input_item +- source: . + scopes: + - punctuation.separator.dot-access +- source: Data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: . + scopes: + - constant.numeric.decimal.point +- source: '00001' + scopes: + - constant.numeric.decimal +- source: '&&' + scopes: + - keyword.operator.logical +- source: stof + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: input_item + scopes: + - variable.snake-case + - variable.other.object.access.input_item +- source: . + scopes: + - punctuation.separator.dot-access +- source: Data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '>' + scopes: + - keyword.operator.comparison +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '0' + scopes: + - constant.numeric.decimal +- source: . + scopes: + - constant.numeric.decimal.point +- source: '00001' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Division by 0 somewhere +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: Item + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: the_input scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' + - variable.snake-case + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -59178,7 +66737,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59254,7 +66814,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -59322,7 +66882,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -59354,7 +66915,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -59408,7 +66970,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -59435,7 +66998,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -59535,7 +67099,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -59567,7 +67132,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -59626,7 +67192,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -59695,7 +67261,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59755,7 +67322,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59774,7 +67342,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -59833,7 +67404,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -59902,7 +67473,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59962,7 +67534,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59981,7 +67554,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -60040,7 +67616,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60109,7 +67685,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60169,7 +67746,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60188,7 +67766,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -60247,7 +67828,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60316,7 +67897,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60368,7 +67950,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -60380,7 +67965,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60452,7 +68038,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60521,7 +68107,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60573,7 +68160,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -60585,7 +68175,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60657,7 +68248,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60726,7 +68317,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60778,7 +68370,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input' +- source: the_input + scopes: + - variable.snake-case + - variable.other.unknown.the_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -60790,7 +68385,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60862,7 +68458,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60930,7 +68526,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60962,7 +68559,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -61016,7 +68614,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -61035,7 +68634,10 @@ - source: ^ scopes: - keyword.operator.bitwise -- source: ' input_item2' +- source: input_item2 + scopes: + - variable.snake-case + - variable.other.unknown.input_item2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -61120,7 +68722,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -61152,7 +68755,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -61211,7 +68815,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: to_string scopesBegin: @@ -61254,7 +68858,8 @@ - keyword.control.return - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61311,7 +68916,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -61351,13 +68956,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' Item holder ' +- source: Item scopesBegin: - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: holder + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' value' + scopesEnd: + - meta.assignment +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -61366,7 +68988,8 @@ - keyword.control.return - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -61377,6 +69000,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: holder + scopes: + - variable.lower-case + - variable.other.unknown.holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61448,7 +69074,9 @@ - source: puts scopes: - entity.name.function.preprocessor -- source: ' __PutsOutputFixerStream' +- source: __PutsOutputFixerStream + scopes: + - variable.other.unknown.__PutsOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61465,7 +69093,7 @@ - entity.name.function.preprocessor - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -61482,6 +69110,8 @@ scopes: - punctuation.terminator.statement - source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61507,7 +69137,10 @@ - source: Print scopes: - entity.name.function.preprocessor -- source: ' cout' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61521,7 +69154,13 @@ - source: ' log is an incredibly useful Debugging tool' scopesEnd: - comment.line.double-slash -- source: ' string __OUTPUT_INDENT ' +- source: string + scopes: + - variable.lower-case + - variable.other.unknown.string +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -61542,7 +69181,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' __INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -61566,7 +69207,7 @@ - entity.name.function.preprocessor - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -61583,6 +69224,8 @@ scopes: - punctuation.terminator.statement - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61597,7 +69240,9 @@ - source: log_start scopes: - entity.name.function.preprocessor -- source: ' __INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -61609,7 +69254,7 @@ - punctuation.terminator.statement - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -61626,6 +69271,8 @@ scopes: - punctuation.terminator.statement - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61650,7 +69297,7 @@ - punctuation.section.parens.begin.bracket.round - source: __OUTPUT_INDENT scopes: - - variable.other.object.access + - variable.other.unknown.__OUTPUT_INDENT - source: . scopes: - punctuation.separator.dot-access @@ -61679,13 +69326,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' __OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: '=' scopes: - keyword.operator.assignment - source: __OUTPUT_INDENT scopes: - - variable.other.object.access + - variable.other.unknown.__OUTPUT_INDENT - source: . scopes: - punctuation.separator.dot-access @@ -61703,7 +69352,7 @@ - punctuation.separator.delimiter.comma - source: __OUTPUT_INDENT scopes: - - variable.other.object.access + - variable.other.unknown.__OUTPUT_INDENT - source: . scopes: - punctuation.separator.dot-access @@ -61738,7 +69387,7 @@ - punctuation.terminator.statement - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -61755,6 +69404,8 @@ scopes: - punctuation.terminator.statement - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61779,7 +69430,7 @@ - storage.type.modifier.access.public - source: stringstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -61804,37 +69455,71 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' length_of_last_line ' +- source: length_of_last_line + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.length_of_last_line - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dont_go_up_a_line ' +- source: dont_go_up_a_line + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.dont_go_up_a_line - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' string what_was_just_output ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: what_was_just_output + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.what_was_just_output - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -61844,14 +69529,28 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement -- source: ' string content ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -61861,6 +69560,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -61877,7 +69577,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: go_up_a_line @@ -61896,9 +69596,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -61926,7 +69629,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: go_to_the_right @@ -61958,9 +69661,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -61988,6 +69694,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: number_of_spaces + scopes: + - variable.other.unknown.number_of_spaces - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -62015,7 +69723,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: save_cursor_position @@ -62034,9 +69742,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -62064,7 +69775,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: restore_cursor_position @@ -62083,9 +69794,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -62113,7 +69827,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: length_of_previous_line @@ -62135,16 +69849,26 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' charaters_till_newline ' +- source: charaters_till_newline + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.charaters_till_newline - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -62157,13 +69881,16 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: what_was_just_output scopes: - - variable.other.object.access + - variable.other.unknown.what_was_just_output - source: . scopes: - punctuation.separator.dot-access @@ -62188,10 +69915,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -62201,18 +69932,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.snake-case + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62241,7 +69981,7 @@ - punctuation.definition.begin.bracket.square - source: what_was_just_output scopes: - - variable.other.object.access + - variable.other.unknown.what_was_just_output - source: . scopes: - punctuation.separator.dot-access @@ -62257,7 +69997,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -62289,7 +70031,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' charaters_till_newline' +- source: charaters_till_newline + scopes: + - variable.other.unknown.charaters_till_newline - source: ++ scopes: - keyword.operator.increment @@ -62333,7 +70077,9 @@ - source: return scopes: - keyword.control.return -- source: ' charaters_till_newline' +- source: charaters_till_newline + scopes: + - variable.other.unknown.charaters_till_newline - source: ; scopes: - punctuation.terminator.statement @@ -62355,7 +70101,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: reset @@ -62374,9 +70120,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' length_of_last_line ' +- source: length_of_last_line scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.length_of_last_line - source: '=' scopes: - keyword.operator.assignment @@ -62386,7 +70134,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' dont_go_up_a_line ' +- source: dont_go_up_a_line + scopes: + - variable.other.unknown.dont_go_up_a_line - source: '=' scopes: - keyword.operator.assignment @@ -62396,7 +70146,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' what_was_just_output ' +- source: what_was_just_output + scopes: + - variable.other.unknown.what_was_just_output - source: '=' scopes: - keyword.operator.assignment @@ -62420,7 +70172,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: output_line @@ -62450,6 +70202,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: dont_go_up_a_line + scopes: + - variable.other.unknown.dont_go_up_a_line - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62481,14 +70235,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62507,7 +70271,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison @@ -62534,11 +70301,16 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -62547,11 +70319,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ; scopes: - punctuation.terminator.statement @@ -62560,7 +70338,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -62580,7 +70361,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' __INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -62590,7 +70373,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' dont_go_up_a_line ' +- source: dont_go_up_a_line + scopes: + - variable.other.unknown.dont_go_up_a_line - source: '=' scopes: - keyword.operator.assignment @@ -62625,7 +70410,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' length_of_last_line ' +- source: length_of_last_line + scopes: + - variable.other.unknown.length_of_last_line - source: += scopes: - keyword.operator.assignment.compound @@ -62648,6 +70435,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: length_of_last_line + scopes: + - variable.other.unknown.length_of_last_line - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -62663,14 +70452,24 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62689,7 +70488,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison @@ -62716,11 +70518,16 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -62729,11 +70536,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each' +- source: each + scopes: + - variable.lower-case + - variable.other.unknown.each - source: ; scopes: - punctuation.terminator.statement @@ -62778,7 +70591,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: add_content @@ -62809,21 +70622,32 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' what_was_just_output ' +- source: what_was_just_output scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.what_was_just_output - source: '=' scopes: - keyword.operator.assignment -- source: ' content' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement -- source: ' content ' +- source: content + scopes: + - variable.lower-case + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment -- source: ' input_' +- source: input_ + scopes: + - variable.snake-case + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement @@ -62843,15 +70667,31 @@ - punctuation.terminator.statement scopesEnd: - meta.block.class -- source: ' stringstream __PutsOutputFixerStream' +- source: stringstream + scopes: + - variable.lower-case + - variable.other.unknown.stringstream +- source: __PutsOutputFixerStream + scopes: + - variable.other.unknown.__PutsOutputFixerStream - source: ; scopes: - punctuation.terminator.statement -- source: ' __PutLinesOutputFixerStreamClass __PutLinesOutputFixerStream' +- source: __PutLinesOutputFixerStreamClass + scopes: + - variable.other.unknown.__PutLinesOutputFixerStreamClass +- source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ; scopes: - punctuation.terminator.statement -- source: ' __PutLinesOutputFixerStreamClass __LogOutputFixerStream' +- source: __PutLinesOutputFixerStreamClass + scopes: + - variable.other.unknown.__PutLinesOutputFixerStreamClass +- source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ; scopes: - punctuation.terminator.statement @@ -62889,7 +70729,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -62965,7 +70805,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -62973,6 +70816,8 @@ scopes: - keyword.operator.bitwise - source: __PutsOutputFixerStream + scopes: + - variable.other.unknown.__PutsOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63001,6 +70846,8 @@ scopes: - keyword.operator.bitwise - source: mutex_for_output + scopes: + - variable.other.unknown.mutex_for_output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -63015,15 +70862,31 @@ - source: ' put the value into the string stream ' scopesEnd: - comment.line.double-slash -- source: ' stringstream converter_to_string' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: converter_to_string + scopes: + - meta.declaration + - variable.other.unknown.converter_to_string + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' converter_to_string ' +- source: converter_to_string + scopes: + - variable.other.unknown.converter_to_string - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -63035,13 +70898,25 @@ - source: ' get the output as a string' scopesEnd: - comment.line.double-slash -- source: ' string content_being_output ' +- source: string + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: content_being_output + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown.content_being_output - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: converter_to_string scopes: - - variable.other.object.access + - variable.other.unknown.converter_to_string - source: . scopes: - punctuation.separator.dot-access @@ -63054,6 +70929,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -63065,11 +70942,16 @@ - source: ' insert the indent at the begining' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -63090,14 +70972,23 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_char ' +- source: each_char + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content_being_output' +- source: content_being_output + scopes: + - variable.other.unknown.content_being_output + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63116,7 +71007,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -63143,11 +71037,16 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -63156,11 +71055,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each_char' +- source: each_char + scopes: + - variable.snake-case + - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement @@ -63177,7 +71082,10 @@ - source: ' send a newline at the end' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -63215,6 +71123,8 @@ scopes: - keyword.operator.bitwise - source: mutex_for_output + scopes: + - variable.other.unknown.mutex_for_output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -63248,7 +71158,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -63256,6 +71169,8 @@ scopes: - keyword.operator.bitwise - source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63276,7 +71191,7 @@ - comment.line.double-slash - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63310,21 +71225,39 @@ - source: ' add the line to __PutLinesOutputFixerStream' scopesEnd: - comment.line.double-slash -- source: ' stringstream out_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: out_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' out_stream ' +- source: out_stream + scopes: + - variable.snake-case + - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63334,13 +71267,16 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '__OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: + scopes: - keyword.operator.arithmetic - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -63369,7 +71305,7 @@ - comment.line.double-slash - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63412,7 +71348,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -63420,6 +71359,8 @@ scopes: - keyword.operator.bitwise - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63440,7 +71381,7 @@ - comment.line.double-slash - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63482,7 +71423,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Debugging ' +- source: Debugging + scopes: + - variable.other.unknown.Debugging - source: '==' scopes: - keyword.operator.comparison @@ -63507,15 +71450,33 @@ - source: ' add the line to __LogOutputFixerStream' scopesEnd: - comment.line.double-slash -- source: ' stringstream out_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: out_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' out_stream ' +- source: out_stream + scopes: + - variable.snake-case + - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -63527,7 +71488,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '__INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '==' scopes: - keyword.operator.comparison @@ -63546,7 +71509,7 @@ - punctuation.section.block.begin.bracket.curly - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63556,13 +71519,16 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '__OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: + scopes: - keyword.operator.arithmetic - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -63581,7 +71547,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' __OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: += scopes: - keyword.operator.assignment.compound @@ -63613,7 +71581,7 @@ - punctuation.section.block.begin.bracket.curly - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63623,13 +71591,16 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '__OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: + scopes: - keyword.operator.arithmetic - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -63663,7 +71634,7 @@ - comment.line.double-slash - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -63700,7 +71671,10 @@ - source: ' dont output anything ' scopesEnd: - comment.line.double-slash -- source: ' o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -63755,25 +71729,47 @@ - source: ' then just keep going like normal' scopesEnd: - comment.line.double-slash -- source: ' stringstream out_stream' +- source: stringstream + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: out_stream + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' out_stream ' +- source: out_stream + scopes: + - variable.snake-case + - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement -- source: ' o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -63797,7 +71793,10 @@ - source: return scopes: - keyword.control.return -- source: ' o' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: ; scopes: - punctuation.terminator.statement @@ -63823,7 +71822,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -63857,7 +71856,7 @@ - punctuation.separator.delimiter.comma - source: ostream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -63922,7 +71921,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -63930,6 +71932,8 @@ scopes: - keyword.operator.bitwise - source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63940,11 +71944,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' manip_fun' +- source: manip_fun + scopes: + - variable.snake-case + - variable.other.unknown.manip_fun - source: ; scopes: - punctuation.terminator.statement @@ -63967,7 +71977,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -63975,6 +71988,8 @@ scopes: - keyword.operator.bitwise - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63993,7 +72008,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Debugging ' +- source: Debugging + scopes: + - variable.other.unknown.Debugging - source: '==' scopes: - keyword.operator.comparison @@ -64010,11 +72027,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' manip_fun' +- source: manip_fun + scopes: + - variable.snake-case + - variable.other.unknown.manip_fun - source: ; scopes: - punctuation.terminator.statement @@ -64052,11 +72075,17 @@ - source: ' then just keep going like normal' scopesEnd: - comment.line.double-slash -- source: ' o ' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' manip_fun' +- source: manip_fun + scopes: + - variable.snake-case + - variable.other.unknown.manip_fun - source: ; scopes: - punctuation.terminator.statement @@ -64068,7 +72097,10 @@ - source: return scopes: - keyword.control.return -- source: ' o' +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 504a1ece..150c909a 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -88,6 +88,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '0' scopes: @@ -103,6 +104,7 @@ - constant.numeric.decimal.point - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '0' scopes: @@ -112,6 +114,7 @@ - constant.numeric.decimal.point - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '0' scopes: @@ -121,12 +124,14 @@ - constant.numeric.decimal.point - source: LL scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '4897430' scopes: - constant.numeric.decimal - source: la scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '32094' scopes: @@ -139,12 +144,14 @@ - constant.numeric.decimal - source: a scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '4897430' scopes: - constant.numeric.decimal - source: LL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: '32094' scopes: @@ -157,6 +164,7 @@ - constant.numeric.decimal - source: F scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '32094' scopes: @@ -169,6 +177,7 @@ - constant.numeric.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: '1' scopesBegin: @@ -270,6 +279,7 @@ - constant.numeric.exponent.decimal - source: f scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: '1' scopes: @@ -537,6 +547,7 @@ - constant.numeric.exponent.hexadecimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -556,6 +567,7 @@ - constant.numeric.exponent.hexadecimal - source: l scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -565,6 +577,7 @@ - constant.numeric.hexadecimal - source: LL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: 0x scopes: @@ -634,6 +647,7 @@ - constant.numeric.hexadecimal - source: LL scopes: + - keyword.other.suffix.literal.built-in.integer - keyword.other.unit.suffix.integer - source: // scopesBegin: @@ -661,6 +675,7 @@ - constant.numeric.exponent.hexadecimal - source: F scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -680,6 +695,7 @@ - constant.numeric.exponent.hexadecimal - source: f scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -727,6 +743,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -746,6 +763,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -826,6 +844,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -848,6 +867,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: 0x scopes: @@ -920,6 +940,7 @@ - constant.numeric.exponent.hexadecimal - source: L scopes: + - keyword.other.suffix.literal.built-in.floating-point - keyword.other.unit.suffix.floating-point - source: // scopesBegin: @@ -934,6 +955,7 @@ - constant.numeric.decimal - source: ms scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: 0x scopes: @@ -943,6 +965,7 @@ - constant.numeric.hexadecimal - source: mm scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: 0x scopes: @@ -958,6 +981,7 @@ - constant.numeric.hexadecimal - source: mm scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: 0x scopes: @@ -967,18 +991,21 @@ - constant.numeric.hexadecimal - source: yards scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '20' scopes: - constant.numeric.decimal - source: ounces scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '2000' scopes: - constant.numeric.decimal - source: miles scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: L scopesBegin: @@ -1032,6 +1059,7 @@ - constant.numeric.hexadecimal - source: luyards scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '0' scopes: @@ -1052,12 +1080,14 @@ - constant.numeric.hexadecimal - source: x scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: '1' scopes: - constant.numeric.decimal - source: Px scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined - source: // scopesBegin: @@ -1125,7 +1155,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1168,7 +1201,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1189,7 +1225,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1210,7 +1249,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1259,7 +1301,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1269,7 +1314,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1298,6 +1346,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1314,6 +1365,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1323,6 +1376,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1351,6 +1407,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1383,7 +1442,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1393,7 +1455,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1422,6 +1487,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1438,6 +1506,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1447,6 +1517,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1475,6 +1548,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.lower-case + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1505,7 +1581,10 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1513,7 +1592,10 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1596,7 +1678,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1628,7 +1713,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -1646,7 +1734,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -1675,7 +1763,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1687,6 +1775,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.snake-case + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1703,7 +1794,10 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'array ' +- source: array + scopes: + - variable.lower-case + - variable.other.unknown.array - source: '=' scopes: - keyword.operator.assignment @@ -1741,7 +1835,10 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' array' +- source: array + scopes: + - variable.lower-case + - variable.other.unknown.array - source: ; scopes: - punctuation.terminator.statement @@ -1749,7 +1846,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ; scopes: - punctuation.terminator.statement @@ -1757,7 +1856,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' deleter' +- source: deleter + scopes: + - variable.lower-case + - variable.other.unknown.deleter - source: ; scopes: - punctuation.terminator.statement @@ -1955,7 +2057,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __MAGIC__show @@ -2002,11 +2104,17 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2042,11 +2150,17 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2100,7 +2214,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2135,7 +2249,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2170,14 +2284,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2190,6 +2304,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: links_to + scopes: + - variable.snake-case + - variable.other.unknown.links_to - source: ; scopes: - punctuation.terminator.statement @@ -2204,6 +2321,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: name + scopes: + - variable.lower-case + - variable.other.unknown.name - source: ; scopes: - punctuation.terminator.statement @@ -2218,7 +2338,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2240,7 +2360,8 @@ - punctuation.definition.begin.bracket.square - source: input_event scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_event - source: . scopes: - punctuation.separator.dot-access @@ -2279,6 +2400,8 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2299,6 +2422,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.lower-case + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2338,6 +2464,8 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2358,6 +2486,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.lower-case + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2385,12 +2516,14 @@ - comment.line.double-slash - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: as scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2430,12 +2563,14 @@ - punctuation.terminator.statement - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: MV scopes: + - variable.upper-case - variable.other.object.property - source: . scopes: @@ -2475,7 +2610,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2487,7 +2623,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2499,7 +2636,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2511,7 +2649,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2523,12 +2662,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2541,12 +2682,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2559,12 +2702,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2577,12 +2722,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2595,12 +2742,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2613,12 +2762,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2631,12 +2782,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2649,12 +2802,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2667,7 +2822,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2692,7 +2848,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2717,7 +2874,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2742,7 +2900,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2767,7 +2926,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2798,7 +2958,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2829,7 +2990,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2860,7 +3022,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2891,7 +3054,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2909,7 +3073,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2927,7 +3092,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -2945,7 +3110,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2963,7 +3128,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2987,7 +3153,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3011,7 +3178,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3035,7 +3202,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3064,7 +3231,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3095,7 +3263,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3126,7 +3295,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3157,7 +3327,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3188,7 +3359,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3200,7 +3372,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3212,7 +3385,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3224,7 +3398,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3242,7 +3417,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3260,7 +3436,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3278,7 +3455,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3296,7 +3473,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3334,7 +3511,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3404,7 +3581,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3475,7 +3652,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3546,7 +3723,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3617,7 +3794,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3783,7 +3960,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -3956,7 +4133,10 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4035,7 +4215,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -4063,7 +4243,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4090,10 +4273,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4108,6 +4297,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4118,7 +4310,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4129,10 +4324,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4147,6 +4348,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4261,6 +4465,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopesBegin: - meta.template.call @@ -4334,7 +4541,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4430,6 +4637,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4449,7 +4659,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4545,6 +4755,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.lower-case + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4564,7 +4777,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4631,7 +4844,7 @@ - meta.body.struct - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4761,7 +4974,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -4792,7 +5005,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -4833,34 +5046,64 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: bool scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' used ' +- source: used + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static -- source: ' storage' +- source: storage + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' a_storage_of_callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: a_storage_of_callable + scopes: + - meta.declaration + - variable.other.unknown.a_storage_of_callable + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -4889,7 +5132,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -4917,6 +5160,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: used + scopes: + - variable.lower-case + - variable.other.unknown.used - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4929,12 +5175,13 @@ - punctuation.section.block.begin.bracket.curly - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access - source: callable scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -4970,7 +5217,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -4999,7 +5246,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5011,6 +5258,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.snake-case + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -5020,7 +5270,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' used ' +- source: used + scopes: + - variable.lower-case + - variable.other.unknown.used - source: '=' scopes: - keyword.operator.assignment @@ -5092,7 +5345,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5113,7 +5366,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5125,6 +5378,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.lower-case + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5199,7 +5455,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -5254,7 +5510,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: 'N' scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5276,7 +5532,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5288,6 +5544,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5300,6 +5559,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE + scopes: + - variable.snake-case + - variable.other.unknown.RETURN_TYPE - source: '*' scopes: - keyword.operator.arithmetic @@ -5383,16 +5645,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5479,16 +5753,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5546,7 +5832,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5590,7 +5876,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5634,7 +5920,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5678,7 +5964,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5744,7 +6030,7 @@ - storage.type.modifier.access.public - source: ClassA scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -5841,7 +6127,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -5852,7 +6138,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance @@ -5861,7 +6147,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -5872,7 +6158,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class @@ -5927,7 +6213,7 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -5960,21 +6246,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6004,7 +6290,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -6021,7 +6307,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -6172,7 +6458,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6215,7 +6501,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6227,7 +6513,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -6457,21 +6743,21 @@ - storage.type.modifier.access.private - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6481,21 +6767,21 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6505,14 +6791,14 @@ - storage.type.modifier.access.protected - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6575,7 +6861,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6585,7 +6871,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6620,7 +6906,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6630,7 +6916,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6685,7 +6971,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ToBinary scopesBegin: @@ -6749,6 +7035,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.lower-case + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6790,7 +7079,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7211,7 +7503,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7247,7 +7542,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7327,7 +7625,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -7348,7 +7646,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7360,6 +7658,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.lower-case + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7592,7 +7893,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -7614,19 +7915,31 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' thing ' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: + scopes: - keyword.operator.arithmetic @@ -7644,6 +7957,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7675,6 +7990,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: test + scopes: + - variable.lower-case + - variable.other.unknown.test - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7756,6 +8074,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7839,7 +8160,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -7850,6 +8172,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7889,7 +8214,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -7951,7 +8277,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8013,7 +8340,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8075,7 +8403,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8137,7 +8466,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8199,7 +8529,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8261,7 +8592,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8323,7 +8655,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8385,7 +8718,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8447,7 +8781,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8507,7 +8842,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8558,7 +8896,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8609,7 +8950,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8639,11 +8983,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.lower-case + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: + scopes: - keyword.operator.arithmetic @@ -8670,12 +9020,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -8699,6 +9053,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8711,16 +9067,28 @@ scopesEnd: - meta.block - source: char32_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8733,26 +9101,43 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -8760,6 +9145,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8778,9 +9168,19 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -8799,13 +9199,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -8843,6 +9253,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8861,6 +9274,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -8869,6 +9285,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8884,6 +9302,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8904,10 +9325,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -8925,6 +9352,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_invalid_hex + scopes: + - variable.other.unknown.code_escape_sequence_invalid_hex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8937,13 +9366,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -8968,11 +9407,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8988,15 +9433,22 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '*' scopes: - keyword.operator.arithmetic @@ -9006,7 +9458,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -9023,7 +9478,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -9058,7 +9516,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9088,6 +9547,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9145,7 +9607,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9159,7 +9624,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9196,7 +9664,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9230,14 +9701,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9249,6 +9729,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_utf_code_point_invalid + scopes: + - variable.other.unknown.code_escape_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9269,13 +9751,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' encode_one ' +- source: encode_one + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -9324,7 +9816,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9361,7 +9854,10 @@ - source: '~' scopes: - keyword.operator.bitwise -- source: 'mask ' +- source: mask + scopes: + - variable.lower-case + - variable.other.unknown.mask - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -9386,11 +9882,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' shift' +- source: shift + scopes: + - variable.lower-case + - variable.other.unknown.shift - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9399,7 +9901,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' mask' +- source: mask + scopes: + - variable.lower-case + - variable.other.unknown.mask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9420,6 +9925,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -9432,7 +9938,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9495,7 +10004,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9582,7 +10094,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9796,7 +10311,10 @@ scopes: - keyword.control.default - source: ':' -- source: ' thing' +- source: thing + scopes: + - variable.lower-case + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -9809,7 +10327,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 @@ -9845,7 +10363,7 @@ - support.other.attribute - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func2 @@ -9922,7 +10440,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func3 diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index 9f1e9cc4..7fb62084 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -159,6 +159,9 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -166,33 +169,76 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: reference_wrapper + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: streambuf + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' m_cbuf' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: m_cbuf + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' Cow_String m_file' +- source: Cow_String + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: m_file + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement -- source: ' Cow_String m_str' +- source: Cow_String + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: m_str + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -203,11 +249,22 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_line' + scopesEnd: + - meta.qualified-type +- source: m_line + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -218,7 +275,15 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_offset' + scopesEnd: + - meta.qualified-type +- source: m_offset + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -293,6 +358,8 @@ - source: xcbuf scopes: - meta.parameter.initialization + - variable.lower-case + - variable.other.unknown.xcbuf - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -309,6 +376,8 @@ - source: xfile scopes: - meta.parameter.initialization + - variable.lower-case + - variable.other.unknown.xfile - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -414,7 +483,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -472,7 +541,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -483,7 +552,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -536,7 +605,7 @@ - storage.modifier.const - source: Cow_String scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -587,7 +656,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -599,7 +668,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: line scopesBegin: - meta.head.function.definition @@ -646,7 +715,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: advance @@ -682,6 +751,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -734,9 +804,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -749,13 +821,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' ich ' +- source: ich + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: this scopes: - variable.language.this @@ -764,6 +846,7 @@ - punctuation.separator.pointer-access - source: m_cbuf scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -789,6 +872,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -800,7 +885,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ich ' +- source: ich + scopes: + - variable.lower-case + - variable.other.unknown.ich - source: '==' scopes: - keyword.operator.comparison @@ -877,6 +965,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -933,7 +1022,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ich ' +- source: ich + scopes: + - variable.lower-case + - variable.other.unknown.ich - source: '==' scopes: - keyword.operator.comparison @@ -979,6 +1071,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -1009,6 +1102,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: ich + scopes: + - variable.lower-case + - variable.other.unknown.ich - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1050,10 +1146,12 @@ - punctuation.terminator.statement - source: ASTERIA_DEBUG_LOG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -1128,6 +1226,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1147,7 +1246,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1159,7 +1258,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: offset scopesBegin: - meta.head.function.definition @@ -1209,7 +1308,7 @@ - storage.modifier.const - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -1250,6 +1349,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -1285,7 +1385,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1297,7 +1397,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: size_avail scopesBegin: - meta.head.function.definition @@ -1333,6 +1433,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -1368,7 +1469,7 @@ - meta.body.function.definition - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: peek @@ -1429,7 +1530,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'add ' +- source: add + scopes: + - variable.lower-case + - variable.other.unknown.add - source: '>' scopes: - keyword.operator.comparison @@ -1496,6 +1600,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: add + scopes: + - variable.lower-case + - variable.other.unknown.add - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1511,7 +1618,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: consume @@ -1560,7 +1667,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'add ' +- source: add + scopes: + - variable.lower-case + - variable.other.unknown.add - source: '>' scopes: - keyword.operator.comparison @@ -1591,10 +1701,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -1609,6 +1721,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1629,7 +1742,10 @@ - source: += scopes: - keyword.operator.assignment.compound -- source: ' add' +- source: add + scopes: + - variable.lower-case + - variable.other.unknown.add - source: ; scopes: - punctuation.terminator.statement @@ -1640,7 +1756,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: rewind @@ -1702,7 +1818,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' xoffset' +- source: xoffset + scopes: + - variable.lower-case + - variable.other.unknown.xoffset - source: ; scopes: - punctuation.terminator.statement @@ -1729,7 +1848,7 @@ - storage.modifier.inline - source: Parser_Error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: do_make_parser_error scopesBegin: @@ -1811,7 +1930,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -1829,7 +1949,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -1845,11 +1966,17 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' length' +- source: length + scopes: + - variable.lower-case + - variable.other.unknown.length - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' code' +- source: code + scopes: + - variable.lower-case + - variable.other.unknown.code - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1885,6 +2012,9 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1895,11 +2025,22 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_line' + scopesEnd: + - meta.qualified-type +- source: m_line + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1910,11 +2051,22 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_offset' + scopesEnd: + - meta.qualified-type +- source: m_offset + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1925,7 +2077,15 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_length' + scopesEnd: + - meta.qualified-type +- source: m_length + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2036,7 +2196,7 @@ - storage.modifier.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2048,7 +2208,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: line scopesBegin: - meta.head.function.definition @@ -2098,7 +2258,7 @@ - storage.modifier.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2110,7 +2270,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: offset scopesBegin: - meta.head.function.definition @@ -2160,7 +2320,7 @@ - storage.modifier.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2172,7 +2332,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: length scopesBegin: - meta.head.function.definition @@ -2286,7 +2446,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2361,7 +2521,8 @@ - keyword.operator.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2391,7 +2552,8 @@ - keyword.operator.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2419,7 +2581,10 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' xlength' +- source: xlength + scopes: + - variable.lower-case + - variable.other.unknown.xlength - source: ; scopes: - punctuation.terminator.statement @@ -2442,7 +2607,7 @@ - meta.body.function.definition - source: Tack scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2518,7 +2683,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: do_get_utf8_code_point @@ -2562,16 +2727,27 @@ scopesEnd: - comment.line.double-slash - source: char32_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2593,6 +2769,8 @@ - source: FF scopes: - constant.numeric.hexadecimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2604,7 +2782,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -2634,7 +2815,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2656,7 +2838,10 @@ - source: return scopes: - keyword.control.return -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ; scopes: - punctuation.terminator.statement @@ -2678,7 +2863,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -2710,7 +2898,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2744,6 +2935,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2761,6 +2955,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_invalid + scopes: + - variable.other.unknown.code_utf8_sequence_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2781,13 +2977,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' u8len ' +- source: u8len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -2825,7 +3031,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -2848,7 +3057,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -2867,17 +3079,23 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'u8len ' + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: '>=' scopes: - keyword.operator.comparison @@ -2887,16 +3105,22 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'u8len ' + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: <= scopes: - keyword.operator.comparison @@ -2906,6 +3130,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -2917,13 +3142,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'u8len ' +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: '>' scopes: - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2964,12 +3193,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2993,6 +3226,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_incomplete + scopes: + - variable.other.unknown.code_utf8_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3012,16 +3247,24 @@ - source: ' Unset bits that are not part of the payload.' scopesEnd: - comment.line.double-slash -- source: ' cpnt ' -- source: '&=' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt +- source: '&' scopes: - - keyword.operator.assignment.compound.bitwise + - keyword.operator.bitwise +- source: '=' + scopes: + - keyword.operator.assignment - source: UINT32_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: 0x scopes: - keyword.other.unit.hexadecimal @@ -3031,10 +3274,14 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' u8len' +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: ; scopes: - punctuation.terminator.statement @@ -3055,6 +3302,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: std + scopesBegin: + - meta.parens.control.for scopes: - entity.name.scope-resolution - source: '::' @@ -3065,7 +3314,10 @@ scopes: - storage.type - storage.type.built-in -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -3075,11 +3327,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' u8len' +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: ; scopes: - punctuation.terminator.statement @@ -3087,6 +3345,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3098,16 +3361,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char32_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' next ' +- source: next + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3118,6 +3392,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3130,6 +3407,8 @@ - source: FF scopes: - constant.numeric.hexadecimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -3146,7 +3425,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: < scopes: - keyword.operator.comparison @@ -3178,7 +3460,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' next' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3212,10 +3497,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -3233,6 +3524,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_invalid + scopes: + - variable.other.unknown.code_utf8_sequence_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3244,7 +3537,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment @@ -3253,7 +3549,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3273,7 +3572,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '&' scopes: - keyword.operator.bitwise @@ -3323,7 +3625,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3337,7 +3642,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -3374,7 +3682,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3408,10 +3719,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' u8len' +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3423,6 +3740,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf_code_point_invalid + scopes: + - variable.other.unknown.code_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3443,13 +3762,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' mlen ' +- source: mlen + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -3487,7 +3816,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -3510,7 +3842,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -3533,7 +3868,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -3552,6 +3890,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -3564,11 +3903,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'mlen ' +- source: mlen + scopes: + - variable.lower-case + - variable.other.unknown.mlen - source: '!=' scopes: - keyword.operator.comparison -- source: ' u8len' +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3597,10 +3942,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' u8len' +- source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3612,6 +3963,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_invalid + scopes: + - variable.other.unknown.code_utf8_sequence_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3625,7 +3978,8 @@ - meta.block - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3636,6 +3990,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: u8len + scopes: + - variable.lower-case + - variable.other.unknown.u8len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3645,7 +4002,10 @@ - source: return scopes: - keyword.control.return -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ; scopes: - punctuation.terminator.statement @@ -3678,7 +4038,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_push_token @@ -3702,7 +4062,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3774,7 +4134,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -3786,7 +4147,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3804,7 +4166,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3822,7 +4185,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3838,7 +4202,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' length' +- source: length + scopes: + - variable.lower-case + - variable.other.unknown.length - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3860,7 +4227,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: XtokenT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3872,6 +4239,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3883,7 +4253,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3894,6 +4265,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: length + scopes: + - variable.lower-case + - variable.other.unknown.length - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3943,7 +4317,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4049,7 +4423,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -4061,7 +4436,8 @@ - punctuation.separator.delimiter.comma - source: rhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rhs - source: . scopes: - punctuation.separator.dot-access @@ -4082,7 +4458,8 @@ scopesBegin: - meta.arguments.operator.sizeof scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -4136,7 +4513,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4236,12 +4613,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs + scopes: + - variable.lower-case + - variable.other.unknown.lhs - source: ',' scopes: - punctuation.separator.delimiter.comma - source: rhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rhs - source: . scopes: - punctuation.separator.dot-access @@ -4297,7 +4678,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4398,7 +4779,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -4421,7 +4803,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' rhs' +- source: rhs + scopes: + - variable.lower-case + - variable.other.unknown.rhs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4449,7 +4834,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_identifier_or_keyword @@ -4473,7 +4858,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4540,9 +4925,18 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_name_chars[] ' +- source: s_name_chars + scopes: + - variable.other.unknown.s_name_chars +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -4561,16 +4955,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4583,6 +4988,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4631,6 +5038,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_name_chars + scopes: + - variable.other.unknown.s_name_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4698,20 +5107,34 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' eptr ' +- source: eptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' bptr ' + scopesEnd: + - meta.assignment +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4724,17 +5147,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4749,10 +5184,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4832,6 +5273,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_name_chars + scopes: + - variable.other.unknown.s_name_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4841,7 +5284,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4856,17 +5302,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tlen ' +- source: tlen + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -4893,15 +5351,22 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -4918,6 +5383,8 @@ scopes: - keyword.operator.logical - source: keyword_as_identifier + scopes: + - variable.other.unknown.keyword_as_identifier - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4952,15 +5419,19 @@ - source: char scopesBegin: - meta.body.struct + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: first - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '12' @@ -4970,18 +5441,33 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: Token + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: Keyword second +- source: Keyword + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: second + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -5016,7 +5502,11 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' s_keywords[] ' +- source: s_keywords + scopes: + - variable.snake-case + - variable.other.unknown.s_keywords +- source: '[] ' - source: '=' scopes: - keyword.operator.assignment @@ -5051,7 +5541,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_and ' +- source: keyword_and + scopes: + - variable.snake-case + - variable.other.unknown.keyword_and - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5086,7 +5579,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_assert ' +- source: keyword_assert + scopes: + - variable.snake-case + - variable.other.unknown.keyword_assert - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5121,7 +5617,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_break ' +- source: keyword_break + scopes: + - variable.snake-case + - variable.other.unknown.keyword_break - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5156,7 +5655,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_case ' +- source: keyword_case + scopes: + - variable.snake-case + - variable.other.unknown.keyword_case - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5191,7 +5693,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_catch ' +- source: keyword_catch + scopes: + - variable.snake-case + - variable.other.unknown.keyword_catch - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5226,7 +5731,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_const ' +- source: keyword_const + scopes: + - variable.snake-case + - variable.other.unknown.keyword_const - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5261,7 +5769,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_continue ' +- source: keyword_continue + scopes: + - variable.snake-case + - variable.other.unknown.keyword_continue - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5296,7 +5807,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_default ' +- source: keyword_default + scopes: + - variable.snake-case + - variable.other.unknown.keyword_default - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5331,7 +5845,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_defer ' +- source: keyword_defer + scopes: + - variable.snake-case + - variable.other.unknown.keyword_defer - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5366,7 +5883,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_do ' +- source: keyword_do + scopes: + - variable.snake-case + - variable.other.unknown.keyword_do - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5401,7 +5921,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_each ' +- source: keyword_each + scopes: + - variable.snake-case + - variable.other.unknown.keyword_each - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5436,7 +5959,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_else ' +- source: keyword_else + scopes: + - variable.snake-case + - variable.other.unknown.keyword_else - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5471,7 +5997,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_false ' +- source: keyword_false + scopes: + - variable.snake-case + - variable.other.unknown.keyword_false - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5506,7 +6035,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_for ' +- source: keyword_for + scopes: + - variable.snake-case + - variable.other.unknown.keyword_for - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5541,7 +6073,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_func ' +- source: keyword_func + scopes: + - variable.snake-case + - variable.other.unknown.keyword_func - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5576,7 +6111,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_if ' +- source: keyword_if + scopes: + - variable.snake-case + - variable.other.unknown.keyword_if - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5611,7 +6149,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_infinity ' +- source: keyword_infinity + scopes: + - variable.snake-case + - variable.other.unknown.keyword_infinity - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5646,7 +6187,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_lengthof ' +- source: keyword_lengthof + scopes: + - variable.snake-case + - variable.other.unknown.keyword_lengthof - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5681,7 +6225,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_nan ' +- source: keyword_nan + scopes: + - variable.snake-case + - variable.other.unknown.keyword_nan - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5716,7 +6263,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_not ' +- source: keyword_not + scopes: + - variable.snake-case + - variable.other.unknown.keyword_not - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5751,7 +6301,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_null ' +- source: keyword_null + scopes: + - variable.snake-case + - variable.other.unknown.keyword_null - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5786,7 +6339,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_or ' +- source: keyword_or + scopes: + - variable.snake-case + - variable.other.unknown.keyword_or - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5821,7 +6377,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_return ' +- source: keyword_return + scopes: + - variable.snake-case + - variable.other.unknown.keyword_return - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5856,7 +6415,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_switch ' +- source: keyword_switch + scopes: + - variable.snake-case + - variable.other.unknown.keyword_switch - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5891,7 +6453,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_this ' +- source: keyword_this + scopes: + - variable.snake-case + - variable.other.unknown.keyword_this - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5926,7 +6491,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_throw ' +- source: keyword_throw + scopes: + - variable.snake-case + - variable.other.unknown.keyword_throw - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5961,7 +6529,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_true ' +- source: keyword_true + scopes: + - variable.snake-case + - variable.other.unknown.keyword_true - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5996,7 +6567,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_try ' +- source: keyword_try + scopes: + - variable.snake-case + - variable.other.unknown.keyword_try - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6031,7 +6605,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_typeof ' +- source: keyword_typeof + scopes: + - variable.snake-case + - variable.other.unknown.keyword_typeof - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6066,7 +6643,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_unset ' +- source: keyword_unset + scopes: + - variable.snake-case + - variable.other.unknown.keyword_unset - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6101,7 +6681,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_var ' +- source: keyword_var + scopes: + - variable.snake-case + - variable.other.unknown.keyword_var - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6136,7 +6719,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_while ' +- source: keyword_while + scopes: + - variable.snake-case + - variable.other.unknown.keyword_while - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6170,10 +6756,12 @@ - entity.name.function.preprocessor - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: std scopes: - entity.name.scope-resolution.function.call @@ -6201,6 +6789,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.snake-case + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6221,6 +6812,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.snake-case + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6238,6 +6832,8 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) - source: ) + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call - source: ; @@ -6252,13 +6848,23 @@ scopesEnd: - keyword.control.directive.endif - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' range ' +- source: range + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -6286,6 +6892,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.snake-case + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6306,6 +6915,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.snake-case + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6342,6 +6954,7 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: @@ -6356,9 +6969,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -6380,7 +6995,8 @@ - punctuation.section.parens.begin.bracket.round - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6392,7 +7008,8 @@ - keyword.operator.comparison - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6429,22 +7046,33 @@ scopesEnd: - meta.block - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' cur ' + - storage.modifier.reference +- source: cur + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6463,6 +7091,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -6518,7 +7147,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -6531,7 +7161,10 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6582,12 +7215,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -6597,7 +7234,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6631,16 +7271,31 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_keyword xtoken ' +- source: S_keyword + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: xtoken + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -6648,7 +7303,8 @@ - punctuation.section.block.begin.bracket.curly - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -6659,6 +7315,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -6670,14 +7327,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6695,6 +7361,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -6720,7 +7389,8 @@ - meta.block - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6744,16 +7414,31 @@ scopesEnd: - meta.block - source: Token + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_identifier xtoken ' +- source: S_identifier + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: xtoken + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -6766,10 +7451,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6777,6 +7468,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -6788,14 +7480,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6813,6 +7514,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -6838,7 +7542,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_punctuator @@ -6862,7 +7566,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6908,9 +7612,18 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_punct_chars[] ' +- source: s_punct_chars + scopes: + - variable.other.unknown.s_punct_chars +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -6929,16 +7642,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -6951,6 +7675,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6999,6 +7725,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punct_chars + scopes: + - variable.other.unknown.s_punct_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7039,6 +7767,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punct_chars + scopes: + - variable.other.unknown.s_punct_chars - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7118,15 +7848,19 @@ - source: char scopesBegin: - meta.body.struct + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: first - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '6' @@ -7136,18 +7870,33 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: Token + scopesBegin: + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: Punctuator second +- source: Punctuator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: second + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -7182,7 +7931,11 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' s_punctuators[] ' +- source: s_punctuators + scopes: + - variable.snake-case + - variable.other.unknown.s_punctuators +- source: '[] ' - source: '=' scopes: - keyword.operator.assignment @@ -7217,7 +7970,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_notl ' +- source: punctuator_notl + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_notl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7252,7 +8008,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_ne ' +- source: punctuator_cmp_ne + scopes: + - variable.other.unknown.punctuator_cmp_ne - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7287,7 +8045,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mod ' +- source: punctuator_mod + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_mod - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7322,7 +8083,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mod_eq ' +- source: punctuator_mod_eq + scopes: + - variable.other.unknown.punctuator_mod_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7357,7 +8120,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andb ' +- source: punctuator_andb + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_andb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7392,7 +8158,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andl ' +- source: punctuator_andl + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_andl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7427,7 +8196,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andl_eq ' +- source: punctuator_andl_eq + scopes: + - variable.other.unknown.punctuator_andl_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7462,7 +8233,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andb_eq ' +- source: punctuator_andb_eq + scopes: + - variable.other.unknown.punctuator_andb_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7497,7 +8270,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_parenth_op ' +- source: punctuator_parenth_op + scopes: + - variable.other.unknown.punctuator_parenth_op - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7532,7 +8307,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_parenth_cl ' +- source: punctuator_parenth_cl + scopes: + - variable.other.unknown.punctuator_parenth_cl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7567,7 +8344,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mul ' +- source: punctuator_mul + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_mul - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7602,7 +8382,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mul_eq ' +- source: punctuator_mul_eq + scopes: + - variable.other.unknown.punctuator_mul_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7637,7 +8419,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_add ' +- source: punctuator_add + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_add - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7672,7 +8457,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_inc ' +- source: punctuator_inc + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_inc - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7707,7 +8495,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_add_eq ' +- source: punctuator_add_eq + scopes: + - variable.other.unknown.punctuator_add_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7742,7 +8532,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_comma ' +- source: punctuator_comma + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_comma - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7777,7 +8570,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sub ' +- source: punctuator_sub + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sub - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7812,7 +8608,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_dec ' +- source: punctuator_dec + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_dec - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7847,7 +8646,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sub_eq ' +- source: punctuator_sub_eq + scopes: + - variable.other.unknown.punctuator_sub_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7882,7 +8683,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_dot ' +- source: punctuator_dot + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_dot - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7917,7 +8721,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_ellipsis ' +- source: punctuator_ellipsis + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_ellipsis - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7952,7 +8759,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_div ' +- source: punctuator_div + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_div - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7987,7 +8797,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_div_eq ' +- source: punctuator_div_eq + scopes: + - variable.other.unknown.punctuator_div_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8022,7 +8834,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_colon ' +- source: punctuator_colon + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_colon - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8057,7 +8872,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_semicol ' +- source: punctuator_semicol + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_semicol - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8092,7 +8910,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_lt ' +- source: punctuator_cmp_lt + scopes: + - variable.other.unknown.punctuator_cmp_lt - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8127,7 +8947,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sla ' +- source: punctuator_sla + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sla - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8162,7 +8985,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sll ' +- source: punctuator_sll + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sll - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8197,7 +9023,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sll_eq ' +- source: punctuator_sll_eq + scopes: + - variable.other.unknown.punctuator_sll_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8232,7 +9060,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sla_eq ' +- source: punctuator_sla_eq + scopes: + - variable.other.unknown.punctuator_sla_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8267,7 +9097,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_lte ' +- source: punctuator_cmp_lte + scopes: + - variable.other.unknown.punctuator_cmp_lte - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8302,7 +9134,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_spaceship ' +- source: punctuator_spaceship + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_spaceship - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8337,7 +9172,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_assign ' +- source: punctuator_assign + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_assign - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8372,7 +9210,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_eq ' +- source: punctuator_cmp_eq + scopes: + - variable.other.unknown.punctuator_cmp_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8407,7 +9247,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_gt ' +- source: punctuator_cmp_gt + scopes: + - variable.other.unknown.punctuator_cmp_gt - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8442,7 +9284,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_gte ' +- source: punctuator_cmp_gte + scopes: + - variable.other.unknown.punctuator_cmp_gte - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8477,7 +9321,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sra ' +- source: punctuator_sra + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sra - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8512,7 +9359,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sra_eq ' +- source: punctuator_sra_eq + scopes: + - variable.other.unknown.punctuator_sra_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8547,7 +9396,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_srl ' +- source: punctuator_srl + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_srl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8582,7 +9434,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_srl_eq ' +- source: punctuator_srl_eq + scopes: + - variable.other.unknown.punctuator_srl_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8617,7 +9471,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_quest ' +- source: punctuator_quest + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_quest - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8652,7 +9509,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_quest_eq ' +- source: punctuator_quest_eq + scopes: + - variable.other.unknown.punctuator_quest_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8690,7 +9549,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_coales ' +- source: punctuator_coales + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_coales - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8729,7 +9591,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_coales_eq ' +- source: punctuator_coales_eq + scopes: + - variable.other.unknown.punctuator_coales_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8764,7 +9628,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_bracket_op ' +- source: punctuator_bracket_op + scopes: + - variable.other.unknown.punctuator_bracket_op - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8799,7 +9665,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_bracket_cl ' +- source: punctuator_bracket_cl + scopes: + - variable.other.unknown.punctuator_bracket_cl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8834,7 +9702,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_xorb ' +- source: punctuator_xorb + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_xorb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8869,7 +9740,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_xorb_eq ' +- source: punctuator_xorb_eq + scopes: + - variable.other.unknown.punctuator_xorb_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8904,7 +9777,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_brace_op ' +- source: punctuator_brace_op + scopes: + - variable.other.unknown.punctuator_brace_op - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8939,7 +9814,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orb ' +- source: punctuator_orb + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_orb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8974,7 +9852,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orb_eq ' +- source: punctuator_orb_eq + scopes: + - variable.other.unknown.punctuator_orb_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9009,7 +9889,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orl ' +- source: punctuator_orl + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_orl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9044,7 +9927,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orl_eq ' +- source: punctuator_orl_eq + scopes: + - variable.other.unknown.punctuator_orl_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9079,7 +9964,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_brace_cl ' +- source: punctuator_brace_cl + scopes: + - variable.other.unknown.punctuator_brace_cl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9114,7 +10001,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_notb ' +- source: punctuator_notb + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_notb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9148,10 +10038,12 @@ - entity.name.function.preprocessor - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: std scopes: - entity.name.scope-resolution.function.call @@ -9179,6 +10071,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.snake-case + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9199,6 +10094,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.snake-case + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9216,6 +10114,8 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) - source: ) + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call - source: ; @@ -9242,13 +10142,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' range ' +- source: range + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -9276,6 +10186,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.snake-case + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9296,6 +10209,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.snake-case + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9332,6 +10248,7 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: @@ -9346,9 +10263,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -9370,7 +10289,8 @@ - punctuation.section.parens.begin.bracket.round - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9382,7 +10302,8 @@ - keyword.operator.comparison - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9411,22 +10332,33 @@ scopesEnd: - meta.block - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' cur ' + - storage.modifier.reference +- source: cur + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9448,18 +10380,29 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tlen ' +- source: tlen + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -9498,7 +10441,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -9508,6 +10452,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9524,13 +10470,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: <= scopes: - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -9593,12 +10543,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -9608,7 +10562,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9642,16 +10599,31 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_punctuator xtoken ' +- source: S_punctuator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: xtoken + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -9659,7 +10631,8 @@ - punctuation.section.block.begin.bracket.curly - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -9670,6 +10643,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -9681,14 +10655,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9706,6 +10689,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -9731,7 +10717,8 @@ - meta.block - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9763,10 +10750,12 @@ - comment.line.double-slash - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -9814,6 +10803,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -9824,7 +10814,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_string_literal @@ -9848,7 +10838,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -9926,16 +10916,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -9948,6 +10949,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9978,7 +10981,10 @@ - source: '!=' scopes: - keyword.operator.comparison -- source: ' head' +- source: head + scopes: + - variable.lower-case + - variable.other.unknown.head - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10012,6 +11018,9 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -10022,17 +11031,40 @@ scopes: - storage.type - storage.type.built-in -- source: ' tlen ' + scopesEnd: + - meta.qualified-type +- source: tlen + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' Cow_String value' +- source: Cow_String + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: value + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10045,6 +11077,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: escapable + scopes: + - variable.lower-case + - variable.other.unknown.escapable - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10073,9 +11108,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -10088,16 +11125,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qavail ' +- source: qavail + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10113,7 +11161,12 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10125,7 +11178,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.lower-case + - variable.other.unknown.qavail - source: '==' scopes: - keyword.operator.comparison @@ -10152,12 +11208,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10181,6 +11241,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_string_literal_unclosed + scopes: + - variable.other.unknown.code_string_literal_unclosed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10193,13 +11255,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopesBegin: - meta.bracket.square.access @@ -10209,10 +11281,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -10221,6 +11297,9 @@ scopes: - keyword.operator.increment - source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement @@ -10232,11 +11311,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' -- source: '==' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next +- source: '==' scopes: - keyword.operator.comparison -- source: ' head' +- source: head + scopes: + - variable.lower-case + - variable.other.unknown.head - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10274,7 +11359,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '!=' scopes: - keyword.operator.comparison @@ -10311,7 +11399,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10322,6 +11411,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10355,7 +11447,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.lower-case + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison @@ -10382,12 +11477,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10411,6 +11510,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10422,7 +11523,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '=' scopes: - keyword.operator.assignment @@ -10435,6 +11539,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10447,20 +11554,35 @@ scopes: - keyword.operator.increment - source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement - source: unsigned + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' xcnt ' +- source: xcnt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10476,6 +11598,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -10572,7 +11697,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10583,6 +11709,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10628,7 +11757,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10696,7 +11826,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10764,7 +11895,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10832,7 +11964,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10900,7 +12033,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10968,7 +12102,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11036,7 +12171,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11104,7 +12240,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11172,7 +12309,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11240,7 +12378,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11306,7 +12445,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -11363,7 +12505,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -11420,7 +12565,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -11450,11 +12598,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.lower-case + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: + scopes: - keyword.operator.arithmetic @@ -11481,12 +12635,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -11510,6 +12668,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11522,16 +12682,28 @@ scopesEnd: - meta.block - source: char32_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11544,26 +12716,43 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -11571,6 +12760,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11589,9 +12783,19 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -11610,13 +12814,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -11654,6 +12868,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11672,6 +12889,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11680,6 +12900,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11695,6 +12917,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11715,10 +12940,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -11736,6 +12967,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_invalid_hex + scopes: + - variable.other.unknown.code_escape_sequence_invalid_hex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11748,13 +12981,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -11779,11 +13022,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11799,15 +13048,22 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '*' scopes: - keyword.operator.arithmetic @@ -11817,7 +13073,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -11834,7 +13093,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -11869,7 +13131,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11899,6 +13162,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11956,7 +13222,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11970,7 +13239,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12007,7 +13279,10 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12041,14 +13316,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12060,6 +13344,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_utf_code_point_invalid + scopes: + - variable.other.unknown.code_escape_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12080,13 +13366,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' encode_one ' +- source: encode_one + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -12135,7 +13431,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -12172,7 +13469,10 @@ - source: '~' scopes: - keyword.operator.bitwise -- source: 'mask ' +- source: mask + scopes: + - variable.lower-case + - variable.other.unknown.mask - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -12197,11 +13497,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' shift' +- source: shift + scopes: + - variable.lower-case + - variable.other.unknown.shift - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12210,7 +13516,10 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' mask' +- source: mask + scopes: + - variable.lower-case + - variable.other.unknown.mask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12231,6 +13540,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -12243,7 +13553,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12306,7 +13619,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12393,7 +13709,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.lower-case + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12623,10 +13942,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12638,6 +13963,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_unknown + scopes: + - variable.other.unknown.code_escape_sequence_unknown - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12650,11 +13977,17 @@ scopesEnd: - meta.block.switch - meta.body.switch -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound -- source: ' xcnt' +- source: xcnt + scopes: + - variable.lower-case + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -12685,13 +14018,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -12728,7 +14071,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -12740,7 +14086,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -12762,10 +14109,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' head' +- source: head + scopes: + - variable.lower-case + - variable.other.unknown.head - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12781,6 +14133,9 @@ scopes: - keyword.operator.logical - source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12801,12 +14156,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -12830,6 +14189,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_string_literal_unclosed + scopes: + - variable.other.unknown.code_string_literal_unclosed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12845,12 +14206,16 @@ scopes: - keyword.operator.increment - source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: ; scopes: - punctuation.terminator.statement - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -12860,7 +14225,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: 'bptr ' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -12870,7 +14238,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic @@ -12883,7 +14254,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: '=' scopes: - keyword.operator.assignment @@ -12913,11 +14287,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12932,16 +14312,31 @@ scopesEnd: - meta.block - source: Token + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_string_literal xtoken ' +- source: S_string_literal + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: xtoken + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -12961,6 +14356,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12968,6 +14366,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -12979,14 +14378,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13004,6 +14412,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -13029,7 +14440,7 @@ - meta.body.function.definition - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -13055,7 +14466,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -13106,7 +14517,8 @@ - punctuation.section.parens.begin.bracket.round - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -13152,13 +14564,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qstok ' +- source: qstok + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -13174,7 +14596,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -13190,6 +14613,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13203,7 +14628,8 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -13221,7 +14647,8 @@ - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -13276,7 +14703,8 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -13294,7 +14722,8 @@ - keyword.operator.arithmetic - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -13312,7 +14741,8 @@ - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -13367,7 +14797,8 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -13391,6 +14822,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_punctuator + scopes: + - variable.snake-case + - variable.other.unknown.index_punctuator - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13446,7 +14880,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -13464,6 +14899,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.snake-case + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -13495,6 +14933,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_add + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_add - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13505,7 +14946,11 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sub }' +- source: punctuator_sub + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sub +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13551,7 +14996,8 @@ - punctuation.section.parens.begin.bracket.round - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -13589,22 +15035,33 @@ scopesEnd: - comment.line.double-slash - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' pt ' + - storage.modifier.reference +- source: pt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -13629,6 +15086,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -13646,7 +15104,8 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -13683,6 +15142,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_keyword + scopes: + - variable.snake-case + - variable.other.unknown.index_keyword - source: ':' scopes: - punctuation.separator.colon.case @@ -13694,22 +15156,33 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -13727,6 +15200,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_keyword + scopes: + - variable.snake-case + - variable.other.unknown.S_keyword - source: '>' scopes: - keyword.operator.comparison @@ -13739,6 +15215,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -13752,13 +15229,23 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' mergeable ' +- source: mergeable + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: rocket scopes: - entity.name.scope-resolution @@ -13774,7 +15261,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -13793,6 +15281,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_null + scopes: + - variable.snake-case + - variable.other.unknown.keyword_null - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13804,6 +15295,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_true + scopes: + - variable.snake-case + - variable.other.unknown.keyword_true - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13815,6 +15309,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_false + scopes: + - variable.snake-case + - variable.other.unknown.keyword_false - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13826,6 +15323,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_nan + scopes: + - variable.snake-case + - variable.other.unknown.keyword_nan - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13837,6 +15337,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_infinity + scopes: + - variable.snake-case + - variable.other.unknown.keyword_infinity - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13847,10 +15350,16 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_this }' +- source: keyword_this + scopes: + - variable.snake-case + - variable.other.unknown.keyword_this +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13866,6 +15375,9 @@ scopes: - keyword.operator.logical - source: mergeable + scopes: + - variable.lower-case + - variable.other.unknown.mergeable - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13914,6 +15426,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_punctuator + scopes: + - variable.snake-case + - variable.other.unknown.index_punctuator - source: ':' scopes: - punctuation.separator.colon.case @@ -13925,22 +15440,33 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -13958,6 +15484,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.snake-case + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -13970,6 +15499,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -13983,13 +15513,23 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' mergeable ' +- source: mergeable + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: rocket scopes: - entity.name.scope-resolution @@ -14005,7 +15545,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -14024,6 +15565,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_inc + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_inc - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14035,6 +15579,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_dec + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_dec - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14046,6 +15593,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_parenth_cl + scopes: + - variable.other.unknown.punctuator_parenth_cl - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14057,6 +15606,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_bracket_cl + scopes: + - variable.other.unknown.punctuator_bracket_cl - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14067,10 +15618,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_brace_cl }' +- source: punctuator_brace_cl + scopes: + - variable.other.unknown.punctuator_brace_cl +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14086,6 +15642,9 @@ scopes: - keyword.operator.logical - source: mergeable + scopes: + - variable.lower-case + - variable.other.unknown.mergeable - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14134,6 +15693,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_identifier + scopes: + - variable.snake-case + - variable.other.unknown.index_identifier - source: ':' scopes: - punctuation.separator.colon.case @@ -14148,6 +15710,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_integer_literal + scopes: + - variable.other.unknown.index_integer_literal - source: ':' scopes: - punctuation.separator.colon.case @@ -14162,6 +15726,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_real_literal + scopes: + - variable.other.unknown.index_real_literal - source: ':' scopes: - punctuation.separator.colon.case @@ -14176,6 +15742,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_string_literal + scopes: + - variable.other.unknown.index_string_literal - source: ':' scopes: - punctuation.separator.colon.case @@ -14220,10 +15788,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -14240,7 +15810,8 @@ - punctuation.separator.delimiter.comma - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -14270,6 +15841,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -14295,7 +15867,10 @@ - source: return scopes: - keyword.control.return -- source: ' qstok' +- source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: ; scopes: - punctuation.terminator.statement @@ -14306,7 +15881,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_numeric_literal @@ -14330,7 +15905,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -14445,9 +16020,19 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -14466,16 +16051,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -14488,6 +16084,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14536,6 +16134,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14595,20 +16196,34 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' eptr ' +- source: eptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' bptr ' + scopesEnd: + - meta.assignment +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -14621,6 +16236,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14649,20 +16266,35 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' radix ' +- source: radix + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '10' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -14673,27 +16305,44 @@ scopes: - storage.type - storage.type.built-in -- source: ' int_begin ' + scopesEnd: + - meta.qualified-type +- source: int_begin + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' int_end ' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: '=' scopes: - keyword.operator.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -14704,55 +16353,96 @@ scopes: - storage.type - storage.type.built-in -- source: ' frac_begin ' + scopesEnd: + - meta.qualified-type +- source: frac_begin + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' exp_base ' +- source: exp_base + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' exp_sign ' +- source: exp_sign + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -14763,23 +16453,37 @@ scopes: - storage.type - storage.type.built-in -- source: ' exp_begin ' + scopesEnd: + - meta.qualified-type +- source: exp_begin + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp_end ' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14808,6 +16512,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -14838,13 +16545,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopesBegin: - meta.bracket.square.access @@ -14853,7 +16570,10 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'int_begin ' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: + scopes: - keyword.operator.arithmetic @@ -14864,6 +16584,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -14880,6 +16601,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -14929,7 +16653,10 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' radix ' +- source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: '=' scopes: - keyword.operator.assignment @@ -14939,7 +16666,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' int_begin ' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: += scopes: - keyword.operator.assignment.compound @@ -14993,7 +16723,10 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' radix ' +- source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: '=' scopes: - keyword.operator.assignment @@ -15003,7 +16736,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' int_begin ' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: += scopes: - keyword.operator.assignment.compound @@ -15031,13 +16767,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' max_digits ' +- source: max_digits + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -15064,7 +16810,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'radix ' +- source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: '*' scopes: - keyword.operator.arithmetic @@ -15075,6 +16824,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -15088,13 +16838,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -15108,15 +16868,24 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' int_begin' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15164,7 +16933,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ch ' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: '==' scopes: - keyword.operator.comparison @@ -15224,14 +16996,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.snake-case + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15246,10 +17027,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement -- source: ' int_end ' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: '=' scopes: - keyword.operator.assignment @@ -15279,11 +17065,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15300,11 +17092,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'int_end ' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: '==' scopes: - keyword.operator.comparison -- source: ' int_begin' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15325,10 +17123,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' int_end' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15340,6 +17144,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_incomplete + scopes: + - variable.other.unknown.code_numeric_literal_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15359,30 +17165,52 @@ - source: ' Look for the fractional part.' scopesEnd: - comment.line.double-slash -- source: ' frac_begin ' +- source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: '=' scopes: - keyword.operator.assignment -- source: ' int_end' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopesBegin: - meta.bracket.square.access @@ -15392,10 +17220,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -15408,7 +17240,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -15437,10 +17272,16 @@ scopes: - keyword.operator.increment - source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '=' scopes: - keyword.operator.assignment @@ -15457,15 +17298,24 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15513,7 +17363,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ch ' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: '==' scopes: - keyword.operator.comparison @@ -15573,14 +17426,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.snake-case + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15598,7 +17460,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment @@ -15628,11 +17493,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15649,11 +17520,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'frac_end ' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: '==' scopes: - keyword.operator.comparison -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15674,10 +17551,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' frac_end' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15689,6 +17572,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_incomplete + scopes: + - variable.other.unknown.code_numeric_literal_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15713,23 +17598,38 @@ - source: ' Look for the exponent.' scopesEnd: - comment.line.double-slash -- source: ' exp_begin ' +- source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: '=' scopes: - keyword.operator.assignment -- source: ' frac_end' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: ; scopes: - punctuation.terminator.statement -- source: ' exp_end ' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '=' scopes: - keyword.operator.assignment @@ -15742,6 +17642,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -15762,6 +17665,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -15811,7 +17717,10 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_base ' +- source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: '=' scopes: - keyword.operator.assignment @@ -15825,6 +17734,9 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -15872,7 +17784,10 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_base ' +- source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: '=' scopes: - keyword.operator.assignment @@ -15886,6 +17801,9 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -15909,7 +17827,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_base ' +- source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: '!=' scopes: - keyword.operator.comparison @@ -15926,7 +17847,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '=' scopes: - keyword.operator.assignment @@ -15939,6 +17863,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -15959,6 +17886,9 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -15991,7 +17921,10 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_sign ' +- source: exp_sign + scopes: + - variable.snake-case + - variable.other.unknown.exp_sign - source: '=' scopes: - keyword.operator.assignment @@ -16005,6 +17938,9 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -16035,7 +17971,10 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_sign ' +- source: exp_sign + scopes: + - variable.snake-case + - variable.other.unknown.exp_sign - source: '=' scopes: - keyword.operator.assignment @@ -16049,6 +17988,9 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -16064,7 +18006,10 @@ scopesEnd: - meta.block.switch - meta.body.switch -- source: ' tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '=' scopes: - keyword.operator.assignment @@ -16081,15 +18026,24 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16137,7 +18091,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ch ' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: '==' scopes: - keyword.operator.comparison @@ -16197,6 +18154,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16206,7 +18166,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16224,7 +18187,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' exp_end ' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment @@ -16254,11 +18220,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16275,11 +18247,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_end ' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: '==' scopes: - keyword.operator.comparison -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16300,10 +18278,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp_end' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16315,6 +18299,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_incomplete + scopes: + - variable.other.unknown.code_numeric_literal_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16351,9 +18337,18 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_suffix_chars[] ' +- source: s_suffix_chars + scopes: + - variable.other.unknown.s_suffix_chars +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -16371,7 +18366,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '=' scopes: - keyword.operator.assignment @@ -16388,15 +18386,24 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' exp_end' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16476,6 +18483,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_suffix_chars + scopes: + - variable.other.unknown.s_suffix_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16485,7 +18494,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.lower-case + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16504,13 +18516,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tlen ' +- source: tlen + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -16537,15 +18559,22 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -16558,11 +18587,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: '!=' scopes: - keyword.operator.comparison -- source: ' exp_end' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16583,10 +18618,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16598,6 +18639,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_suffix_disallowed + scopes: + - variable.other.unknown.code_numeric_literal_suffix_disallowed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16618,16 +18661,28 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' exp ' +- source: exp + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16640,22 +18695,36 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.snake-case + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' exp_end' +- source: exp_end + scopes: + - variable.snake-case + - variable.other.unknown.exp_end - source: ; scopes: - punctuation.terminator.statement @@ -16663,6 +18732,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16674,13 +18748,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -16718,6 +18802,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16736,6 +18823,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -16744,6 +18834,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16759,6 +18851,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16781,13 +18876,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -16812,11 +18917,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16832,28 +18943,45 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bound ' +- source: bound + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'INT_MAX ' +- source: INT_MAX + scopes: + - variable.snake-case + - variable.other.unknown.INT_MAX - source: '-' scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16865,6 +18993,8 @@ - source: '10' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16876,11 +19006,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp ' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: '>' scopes: - keyword.operator.comparison -- source: ' bound' +- source: bound + scopes: + - variable.lower-case + - variable.other.unknown.bound - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16901,10 +19037,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16916,6 +19058,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_exponent_overflow + scopes: + - variable.other.unknown.code_numeric_literal_exponent_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16927,11 +19071,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' exp ' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: '=' scopes: - keyword.operator.assignment -- source: ' exp ' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: '*' scopes: - keyword.operator.arithmetic @@ -16941,7 +19091,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -16959,6 +19112,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: exp_sign + scopes: + - variable.snake-case + - variable.other.unknown.exp_sign - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16969,7 +19125,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' exp ' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: '=' scopes: - keyword.operator.assignment @@ -16977,6 +19136,9 @@ scopes: - keyword.operator.arithmetic - source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: ; scopes: - punctuation.terminator.statement @@ -17004,7 +19166,9 @@ - source: '!' scopes: - keyword.operator.logical -- source: 'integer_as_real ' +- source: integer_as_real + scopes: + - variable.other.unknown.integer_as_real - source: '&&' scopes: - keyword.operator.logical @@ -17013,11 +19177,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'frac_begin ' +- source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: '==' scopes: - keyword.operator.comparison -- source: ' int_end' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17053,7 +19223,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp ' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: < scopes: - keyword.operator.comparison @@ -17080,10 +19253,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17095,6 +19274,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_exponent_negative + scopes: + - variable.other.unknown.code_integer_literal_exponent_negative - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17115,6 +19296,9 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -17125,13 +19309,24 @@ scopes: - storage.type - storage.type.built-in -- source: ' value ' + scopesEnd: + - meta.qualified-type +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17144,22 +19339,36 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' int_begin' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' int_end' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement @@ -17167,6 +19376,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17178,13 +19392,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -17222,10 +19446,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.snake-case + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17238,6 +19468,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -17246,6 +19479,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17261,6 +19496,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17283,13 +19521,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -17321,11 +19569,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17341,11 +19595,15 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -17356,10 +19614,19 @@ scopes: - storage.type - storage.type.built-in -- source: ' bound ' + scopesEnd: + - meta.qualified-type +- source: bound + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -17372,16 +19639,19 @@ - punctuation.section.parens.begin.bracket.round - source: UINT64_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -17396,7 +19666,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17425,10 +19698,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -17441,11 +19718,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '>' scopes: - keyword.operator.comparison -- source: ' bound' +- source: bound + scopes: + - variable.lower-case + - variable.other.unknown.bound - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17466,10 +19749,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17481,6 +19770,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_overflow + scopes: + - variable.other.unknown.code_integer_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17492,11 +19783,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic @@ -17520,6 +19817,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17528,7 +19828,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -17553,7 +19856,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '!=' scopes: - keyword.operator.comparison @@ -17579,10 +19885,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -17592,11 +19903,17 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' exp' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: ; scopes: - punctuation.terminator.statement @@ -17604,6 +19921,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17615,6 +19937,9 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -17625,10 +19950,19 @@ scopes: - storage.type - storage.type.built-in -- source: ' bound ' + scopesEnd: + - meta.qualified-type +- source: bound + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -17636,16 +19970,19 @@ - punctuation.section.parens.begin.bracket.round - source: UINT64_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -17680,10 +20017,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -17696,11 +20037,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '>' scopes: - keyword.operator.comparison -- source: ' bound' +- source: bound + scopes: + - variable.lower-case + - variable.other.unknown.bound - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17721,10 +20068,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17736,6 +20089,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_overflow + scopes: + - variable.other.unknown.code_integer_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17747,7 +20102,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '*=' scopes: - keyword.operator.assignment.compound @@ -17771,6 +20129,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17798,13 +20159,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qstok ' +- source: qstok + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: do_check_mergeability scopes: - entity.name.function.call @@ -17812,17 +20183,28 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -17833,22 +20215,35 @@ scopes: - storage.type - storage.type.built-in -- source: ' smask ' + scopesEnd: + - meta.qualified-type +- source: smask + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qstok ' +- source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: '&&' scopes: - keyword.operator.logical - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -17866,6 +20261,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.snake-case + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -17896,6 +20294,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_sub + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sub - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17904,13 +20305,18 @@ - source: '?' scopes: - keyword.operator.ternary -- source: ' UINT64_MAX ' +- source: UINT64_MAX + scopes: + - variable.snake-case + - variable.other.unknown.UINT64_MAX - source: ':' scopes: - keyword.operator.ternary - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17935,7 +20341,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '==' scopes: - keyword.operator.comparison @@ -17946,16 +20355,19 @@ - punctuation.section.parens.begin.bracket.round - source: UINT64_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -17980,7 +20392,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'smask ' +- source: smask + scopes: + - variable.lower-case + - variable.other.unknown.smask - source: '==' scopes: - keyword.operator.comparison @@ -18012,10 +20427,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18027,6 +20448,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_overflow + scopes: + - variable.other.unknown.code_integer_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18047,6 +20470,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18065,13 +20491,17 @@ - source: ' Overwrite the previous token.' scopesEnd: - comment.line.double-slash -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -18089,7 +20519,8 @@ - keyword.operator.arithmetic - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -18107,7 +20538,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -18119,7 +20551,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -18138,7 +20571,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' qstok ' +- source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: '=' scopes: - keyword.operator.assignment @@ -18150,7 +20586,8 @@ - punctuation.terminator.statement - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -18180,16 +20617,31 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_integer_literal xtoken ' +- source: S_integer_literal + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: xtoken + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -18226,11 +20678,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ^ scopes: - keyword.operator.bitwise -- source: ' smask' +- source: smask + scopes: + - variable.lower-case + - variable.other.unknown.smask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18239,7 +20697,10 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' smask' +- source: smask + scopes: + - variable.lower-case + - variable.other.unknown.smask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18249,6 +20710,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -18260,14 +20722,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18285,6 +20756,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -18321,30 +20795,54 @@ scopesEnd: - comment.line.double-slash - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' value ' +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' zero ' +- source: zero + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18357,22 +20855,36 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' int_begin' +- source: int_begin + scopes: + - variable.snake-case + - variable.other.unknown.int_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' int_end' +- source: int_end + scopes: + - variable.snake-case + - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement @@ -18380,6 +20892,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18391,13 +20908,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -18435,10 +20962,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.snake-case + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18451,6 +20984,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -18459,6 +20995,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18474,6 +21012,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18496,13 +21037,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -18527,11 +21078,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18547,31 +21104,53 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic -- source: ' radix ' +- source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement -- source: ' zero ' -- source: '|=' +- source: zero + scopes: + - variable.lower-case + - variable.other.unknown.zero +- source: '|' + scopes: + - keyword.operator.bitwise +- source: '=' + scopes: + - keyword.operator.assignment +- source: dvalue scopes: - - keyword.operator.assignment.compound.bitwise -- source: ' dvalue' + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -18589,16 +21168,28 @@ scopesEnd: - comment.line.double-slash - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' frac ' +- source: frac + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18611,14 +21202,22 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.snake-case + - variable.other.unknown.frac_end - source: '-' scopes: - keyword.operator.arithmetic @@ -18628,7 +21227,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -18638,7 +21240,10 @@ - source: '!=' scopes: - keyword.operator.comparison -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.snake-case + - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement @@ -18646,6 +21251,11 @@ scopes: - keyword.operator.decrement - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18657,13 +21267,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -18701,10 +21321,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.snake-case + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18717,6 +21343,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -18725,6 +21354,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18740,6 +21371,9 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18762,13 +21396,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -18793,11 +21437,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.lower-case + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.snake-case + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18813,11 +21463,15 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement -- source: ' frac ' +- source: frac + scopes: + - variable.lower-case + - variable.other.unknown.frac - source: '=' scopes: - keyword.operator.assignment @@ -18826,11 +21480,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'frac ' +- source: frac + scopes: + - variable.lower-case + - variable.other.unknown.frac - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18839,15 +21499,27 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' radix' +- source: radix + scopes: + - variable.lower-case + - variable.other.unknown.radix - source: ; scopes: - punctuation.terminator.statement -- source: ' zero ' -- source: '|=' +- source: zero + scopes: + - variable.lower-case + - variable.other.unknown.zero +- source: '|' + scopes: + - keyword.operator.bitwise +- source: '=' scopes: - - keyword.operator.assignment.compound.bitwise -- source: ' dvalue' + - keyword.operator.assignment +- source: dvalue + scopes: + - variable.lower-case + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -18856,11 +21528,17 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: += scopes: - keyword.operator.assignment.compound -- source: ' frac' +- source: frac + scopes: + - variable.lower-case + - variable.other.unknown.frac - source: ; scopes: - punctuation.terminator.statement @@ -18880,11 +21558,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_base ' +- source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: '==' scopes: - keyword.operator.comparison -- source: ' FLT_RADIX' +- source: FLT_RADIX + scopes: + - variable.snake-case + - variable.other.unknown.FLT_RADIX - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18895,7 +21579,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment @@ -18913,10 +21600,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18960,7 +21653,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_base ' +- source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: '==' scopes: - keyword.operator.comparison @@ -18977,7 +21673,10 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment @@ -18995,10 +21694,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19026,11 +21731,17 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment -- source: ' value ' +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic @@ -19048,10 +21759,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: exp_base + scopes: + - variable.snake-case + - variable.other.unknown.exp_base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp' +- source: exp + scopes: + - variable.lower-case + - variable.other.unknown.exp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19072,13 +21789,23 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' fpc ' +- source: fpc + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -19093,9 +21820,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19107,11 +21839,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'fpc ' +- source: fpc + scopes: + - variable.lower-case + - variable.other.unknown.fpc - source: '==' scopes: - keyword.operator.comparison -- source: ' FP_INFINITE' +- source: FP_INFINITE + scopes: + - variable.snake-case + - variable.other.unknown.FP_INFINITE - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19132,10 +21870,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19147,6 +21891,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_real_literal_overflow + scopes: + - variable.other.unknown.code_real_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19171,11 +21917,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'fpc ' +- source: fpc + scopes: + - variable.lower-case + - variable.other.unknown.fpc - source: '==' scopes: - keyword.operator.comparison -- source: ' FP_ZERO' +- source: FP_ZERO + scopes: + - variable.snake-case + - variable.other.unknown.FP_ZERO - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19188,6 +21940,9 @@ scopesEnd: - keyword.operator.logical - source: zero + scopes: + - variable.lower-case + - variable.other.unknown.zero - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19208,10 +21963,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19223,6 +21984,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_real_literal_underflow + scopes: + - variable.other.unknown.code_real_literal_underflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19243,13 +22006,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qstok ' +- source: qstok + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: do_check_mergeability scopes: - entity.name.function.call @@ -19257,36 +22030,58 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' fmask ' +- source: fmask + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qstok ' +- source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: '&&' scopes: - keyword.operator.logical - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -19304,6 +22099,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.snake-case + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -19334,6 +22132,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_sub + scopes: + - variable.snake-case + - variable.other.unknown.punctuator_sub - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19354,6 +22155,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19366,6 +22169,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19384,13 +22190,17 @@ - source: ' Overwrite the previous token.' scopesEnd: - comment.line.double-slash -- source: ' tlen ' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19408,7 +22218,8 @@ - keyword.operator.arithmetic - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -19426,7 +22237,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19438,7 +22250,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -19457,7 +22270,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' qstok ' +- source: qstok + scopes: + - variable.lower-case + - variable.other.unknown.qstok - source: '=' scopes: - keyword.operator.assignment @@ -19469,7 +22285,8 @@ - punctuation.terminator.statement - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -19499,16 +22316,31 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_real_literal xtoken ' +- source: S_real_literal + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: xtoken + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -19528,10 +22360,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.lower-case + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' fmask' +- source: fmask + scopes: + - variable.lower-case + - variable.other.unknown.fmask - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19539,6 +22377,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -19550,14 +22389,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.lower-case + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19575,6 +22423,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.lower-case + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -19617,7 +22468,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -19737,15 +22588,34 @@ - source: ' We will have to reverse this sequence before storing it into `*this` if it is accepted.' scopesEnd: - comment.line.double-slash -- source: ' Cow_Vector' +- source: Cow_Vector + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Token + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' seq' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: seq + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -19757,7 +22627,19 @@ - source: ' Save the position of an unterminated block comment.' scopesEnd: - comment.line.double-slash -- source: ' Tack bcomm' +- source: Tack + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: bcomm + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -19769,7 +22651,10 @@ - source: ' Read source code line by line.' scopesEnd: - comment.line.double-slash -- source: ' Line_Reader' +- source: Line_Reader + scopes: + - meta.qualified-type + - entity.name.type - source: reader scopes: - entity.name.function.call @@ -19777,10 +22662,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cbuf + scopes: + - variable.lower-case + - variable.other.unknown.cbuf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' file' +- source: file + scopes: + - variable.lower-case + - variable.other.unknown.file - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19797,7 +22688,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19843,7 +22735,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19877,7 +22770,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19947,7 +22841,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20045,7 +22940,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20081,6 +22977,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20094,7 +22993,8 @@ - meta.block - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20140,7 +23040,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20186,6 +23087,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: bcomm + scopes: + - variable.lower-case + - variable.other.unknown.bcomm - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -20272,16 +23176,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20294,24 +23209,40 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' eptr ' +- source: eptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment -- source: ' bptr ' + scopesEnd: + - meta.assignment +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20324,17 +23255,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -20349,18 +23292,28 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s_bcomm_term' +- source: s_bcomm_term + scopes: + - variable.other.unknown.s_bcomm_term - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s_bcomm_term ' +- source: s_bcomm_term + scopes: + - variable.other.unknown.s_bcomm_term - source: + scopes: - keyword.operator.arithmetic @@ -20370,6 +23323,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20381,11 +23336,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '==' scopes: - keyword.operator.comparison -- source: ' eptr' +- source: eptr + scopes: + - variable.lower-case + - variable.other.unknown.eptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -20406,7 +23367,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20418,7 +23380,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20448,7 +23411,10 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: += scopes: - keyword.operator.assignment.compound @@ -20468,7 +23434,8 @@ - comment.line.double-slash - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -20486,7 +23453,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20522,11 +23490,17 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.lower-case + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.lower-case + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -20558,16 +23532,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' head ' +- source: head + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20580,6 +23565,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20655,7 +23642,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' head' +- source: head + scopes: + - variable.lower-case + - variable.other.unknown.head - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20685,7 +23675,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20723,7 +23714,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'head ' +- source: head + scopes: + - variable.lower-case + - variable.other.unknown.head - source: '==' scopes: - keyword.operator.comparison @@ -20749,16 +23743,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20774,6 +23779,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20785,7 +23792,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -20820,7 +23830,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20832,7 +23843,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20870,7 +23882,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.lower-case + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -20905,7 +23920,8 @@ - comment.line.double-slash - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -20916,6 +23932,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -20930,7 +23949,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20966,13 +23986,23 @@ scopesEnd: - meta.block - source: bool + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' token_got ' +- source: token_got + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: do_accept_identifier_or_keyword scopes: - entity.name.function.call @@ -20980,16 +24010,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: options scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.options - source: . scopes: - punctuation.separator.dot-access @@ -21009,10 +24046,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21026,10 +24069,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21065,10 +24114,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21090,7 +24145,8 @@ - punctuation.separator.delimiter.comma - source: options scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.options - source: . scopes: - punctuation.separator.dot-access @@ -21110,16 +24166,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: options scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.options - source: . scopes: - punctuation.separator.dot-access @@ -21129,6 +24192,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -21144,6 +24209,9 @@ scopes: - keyword.operator.logical - source: token_got + scopes: + - variable.snake-case + - variable.other.unknown.token_got - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21156,10 +24224,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_DEBUG_LOG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -21176,7 +24246,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21192,6 +24263,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -21205,6 +24277,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.lower-case + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21222,6 +24297,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_token_character_unrecognized + scopes: + - variable.other.unknown.code_token_character_unrecognized - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21240,7 +24317,8 @@ - meta.block - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21270,6 +24348,9 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: bcomm + scopes: + - variable.lower-case + - variable.other.unknown.bcomm - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21299,7 +24380,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -21317,7 +24399,8 @@ - punctuation.separator.delimiter.comma - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -21335,7 +24418,8 @@ - punctuation.separator.delimiter.comma - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -21359,6 +24443,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_block_comment_unclosed + scopes: + - variable.other.unknown.code_block_comment_unclosed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21401,7 +24487,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -21419,7 +24506,8 @@ - punctuation.separator.delimiter.comma - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -21464,6 +24552,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.lower-case + - variable.other.unknown.seq - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21494,10 +24585,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: Parser_Error + scopes: + - variable.snake-case + - variable.other.unknown.Parser_Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' err' +- source: err + scopes: + - variable.lower-case + - variable.other.unknown.err - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21518,10 +24615,12 @@ - comment.line.double-slash - source: ASTERIA_DEBUG_LOG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -21555,7 +24654,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -21587,7 +24687,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -21619,7 +24720,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -21667,7 +24769,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -21712,7 +24815,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -21729,6 +24833,8 @@ scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call - source: ) + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call - source: ; @@ -21760,6 +24866,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: err + scopes: + - variable.lower-case + - variable.other.unknown.err - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21784,7 +24893,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -21840,7 +24949,7 @@ - meta.body.function.definition - source: Parser_Error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Token_Stream scopes: @@ -21914,7 +25023,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.snake-case + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -21960,6 +25072,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_no_data_loaded + scopes: + - variable.other.unknown.code_no_data_loaded - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21976,7 +25090,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.snake-case + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -21998,6 +25115,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -22009,6 +25127,9 @@ scopes: - keyword.operator.comparison - source: Parser_Error + scopes: + - variable.snake-case + - variable.other.unknown.Parser_Error - source: '>' scopes: - keyword.operator.comparison @@ -22035,7 +25156,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.snake-case + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -22081,6 +25205,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_success + scopes: + - variable.snake-case + - variable.other.unknown.code_success - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22104,10 +25231,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22154,6 +25283,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22170,7 +25300,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -22245,7 +25375,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.snake-case + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -22275,7 +25408,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.snake-case + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -22305,7 +25441,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.snake-case + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -22327,6 +25466,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -22338,10 +25478,15 @@ scopes: - keyword.operator.comparison - source: Cow_Vector + scopes: + - variable.snake-case + - variable.other.unknown.Cow_Vector - source: < scopes: - keyword.operator.comparison - source: Token + scopes: + - variable.other.unknown.Token - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -22387,10 +25532,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22437,6 +25584,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22456,7 +25604,7 @@ - storage.modifier.const - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -22530,7 +25678,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.snake-case + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -22543,10 +25694,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22561,6 +25714,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22574,7 +25728,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.snake-case + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -22587,10 +25744,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22605,6 +25764,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22618,7 +25778,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.snake-case + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -22630,16 +25793,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: this scopes: - variable.language.this @@ -22648,6 +25821,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -22659,10 +25833,15 @@ scopes: - keyword.operator.comparison - source: Cow_Vector + scopes: + - variable.snake-case + - variable.other.unknown.Cow_Vector - source: < scopes: - keyword.operator.comparison - source: Token + scopes: + - variable.other.unknown.Token - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -22675,6 +25854,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -22689,7 +25869,8 @@ - punctuation.section.parens.begin.bracket.round - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -22739,7 +25920,8 @@ - punctuation.section.parens.begin.bracket.round - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -22777,10 +25959,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22827,6 +26011,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22843,7 +26028,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -22912,7 +26097,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.snake-case + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -22925,10 +26113,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22943,6 +26133,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22956,7 +26147,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.snake-case + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -22969,10 +26163,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22987,6 +26183,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -23000,7 +26197,10 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.snake-case + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -23012,16 +26212,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: this scopes: - variable.language.this @@ -23030,6 +26240,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -23041,10 +26252,15 @@ scopes: - keyword.operator.comparison - source: Cow_Vector + scopes: + - variable.snake-case + - variable.other.unknown.Cow_Vector - source: < scopes: - keyword.operator.comparison - source: Token + scopes: + - variable.other.unknown.Token - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -23057,6 +26273,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -23071,7 +26288,8 @@ - punctuation.section.parens.begin.bracket.round - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -23096,10 +26314,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -23114,6 +26334,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -23124,7 +26345,8 @@ - meta.block - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -23163,10 +26385,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -23213,6 +26437,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_test.spec.yaml b/language_examples/misc_test.spec.yaml index 8296b784..526043f4 100644 --- a/language_examples/misc_test.spec.yaml +++ b/language_examples/misc_test.spec.yaml @@ -60,14 +60,25 @@ - source: int scopesBegin: - meta.body.class + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' width' +- source: width + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' height' +- source: height + scopes: + - variable.lower-case + - variable.other.unknown.height + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -83,7 +94,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: set_values @@ -124,7 +135,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: area @@ -148,11 +159,17 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' width' +- source: width + scopes: + - variable.lower-case + - variable.other.unknown.width - source: '*' scopes: - keyword.operator.arithmetic - source: height + scopes: + - variable.lower-case + - variable.other.unknown.height - source: ; scopes: - punctuation.terminator.statement @@ -176,7 +193,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Rectangle @@ -225,21 +242,33 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' width ' +- source: width scopesBegin: - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.unknown.width - source: '=' scopes: - keyword.operator.assignment -- source: ' x' +- source: x + scopes: + - variable.lower-case + - variable.other.unknown.x - source: ; scopes: - punctuation.terminator.statement -- source: ' height ' +- source: height + scopes: + - variable.lower-case + - variable.other.unknown.height - source: '=' scopes: - keyword.operator.assignment -- source: ' y' +- source: 'y' + scopes: + - variable.lower-case + - variable.other.unknown.y - source: ; scopes: - punctuation.terminator.statement @@ -250,7 +279,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -269,15 +298,27 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' Rectangle rect' +- source: Rectangle scopesBegin: - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: rect + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: rect scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rect - source: . scopes: - punctuation.separator.dot-access @@ -302,7 +343,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -322,7 +366,8 @@ - keyword.operator.bitwise.shift - source: rect scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rect - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/operator_overload_implicit_const.cpp b/language_examples/operator_overload_implicit_const.cpp new file mode 100644 index 00000000..288c1560 --- /dev/null +++ b/language_examples/operator_overload_implicit_const.cpp @@ -0,0 +1,121 @@ +#pragma once + +#include +#include +#include + +#include "types.hh" +#include "chunked-vector.hh" + +namespace nix { + +/* Symbol table used by the parser and evaluator to represent and look + up identifiers and attributes efficiently. SymbolTable::create() + converts a string into a symbol. Symbols have the property that + they can be compared efficiently (using an equality test), + because the symbol table stores only one copy of each string. */ + +/* This class mainly exists to give us an operator<< for ostreams. We could also + return plain strings from SymbolTable, but then we'd have to wrap every + instance of a symbol that is fmt()ed, which is inconvenient and error-prone. */ +class SymbolStr +{ + friend class SymbolTable; + +private: + const std::string * s; + + explicit SymbolStr(const std::string & symbol): s(&symbol) {} + +public: + bool operator == (std::string_view s2) const + { + return *s == s2; + } + + operator const std::string & () const + { + return *s; + } + + operator const std::string_view () const + { + return *s; + } + + friend std::ostream & operator <<(std::ostream & os, const SymbolStr & symbol); +}; + +class Symbol +{ + friend class SymbolTable; + +private: + uint32_t id; + + explicit Symbol(uint32_t id): id(id) {} + +public: + Symbol() : id(0) {} + + explicit operator bool() const { return id > 0; } + + bool operator<(const Symbol other) const { return id < other.id; } + bool operator==(const Symbol other) const { return id == other.id; } + bool operator!=(const Symbol other) const { return id != other.id; } +}; + +class SymbolTable +{ +private: + std::unordered_map> symbols; + ChunkedVector store{16}; + +public: + + Symbol create(std::string_view s) + { + // Most symbols are looked up more than once, so we trade off insertion performance + // for lookup performance. + // TODO: could probably be done more efficiently with transparent Hash and Equals + // on the original implementation using unordered_set + // FIXME: make this thread-safe. + auto it = symbols.find(s); + if (it != symbols.end()) return Symbol(it->second.second + 1); + + const auto & [rawSym, idx] = store.add(std::string(s)); + symbols.emplace(rawSym, std::make_pair(&rawSym, idx)); + return Symbol(idx + 1); + } + + std::vector resolve(const std::vector & symbols) const + { + std::vector result; + result.reserve(symbols.size()); + for (auto sym : symbols) + result.push_back((*this)[sym]); + return result; + } + + SymbolStr operator[](Symbol s) const + { + if (s.id == 0 || s.id > store.size()) + abort(); + return SymbolStr(store[s.id - 1]); + } + + size_t size() const + { + return store.size(); + } + + size_t totalSize() const; + + template + void dump(T callback) const + { + store.forEach(callback); + } +}; + +} diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml new file mode 100644 index 00000000..543c7e84 --- /dev/null +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -0,0 +1,2174 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.pragma + - keyword.control.directive.pragma + scopes: + - punctuation.definition.directive +- source: pragma + scopesEnd: + - keyword.control.directive.pragma +- source: once + scopes: + - entity.other.attribute-name.pragma.preprocessor + scopesEnd: + - meta.preprocessor.pragma +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: list +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: map +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: unordered_map +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: types.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: chunked-vector.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: namespace + scopesBegin: + - meta.block.namespace + - meta.head.namespace + scopes: + - keyword.other.namespace.definition + - storage.type.namespace.definition +- source: nix + scopes: + - entity.name.namespace +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.namespace + scopesEnd: + - meta.head.namespace +- source: /* + scopesBegin: + - meta.body.namespace + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Symbol table used by the parser and evaluator to represent and look' +- source: ' up identifiers and attributes efficiently. SymbolTable::create()' +- source: ' converts a string into a symbol. Symbols have the property that' +- source: ' they can be compared efficiently (using an equality test),' +- source: ' because the symbol table stores only one copy of each string. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' This class mainly exists to give us an operator<< for ostreams. We could also' +- source: ' return plain strings from SymbolTable, but then we''d have to wrap every' +- source: ' instance of a symbol that is fmt()ed, which is inconvenient and error-prone. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: class + scopesBegin: + - meta.block.class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolStr + scopes: + - entity.name.type.class +- source: '{' + scopes: + - meta.head.class + - punctuation.section.block.begin.bracket.curly.class +- source: friend + scopesBegin: + - meta.body.class + scopes: + - storage.modifier.specifier.functional.pre-parameters.friend +- source: class + scopesBegin: + - meta.block.class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolTable + scopes: + - entity.name.type.class +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.class +- source: private + scopesBegin: + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: const + scopesBegin: + - meta.declaration + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '*' + scopes: + - storage.modifier.pointer +- source: s + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: explicit + scopesBegin: + - meta.function.definition.special.constructor + scopes: + - storage.modifier.specifier.functional.pre-parameters.explicit +- source: SymbolStr + scopesBegin: + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: const + scopesBegin: + - meta.function.definition.parameters.special.constructor + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: symbol + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.constructor + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: s + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: '&' + scopesBegin: + - meta.parameter.initialization + scopes: + - keyword.operator.bitwise +- source: symbol + scopes: + - variable.lower-case + - variable.other.unknown.symbol + scopesEnd: + - meta.parameter.initialization +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: public + scopesBegin: + - storage.type.modifier.access.control.public +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.public +- source: bool + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '==' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: std + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: s2 + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: '==' + scopes: + - keyword.operator.comparison +- source: s2 + scopes: + - variable.lower-case + - variable.other.unknown.s2 +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: const + scopes: + - storage.modifier.const + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: std + scopes: + - entity.name.scope-resolution.operator-overload +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.operator-overload +- source: string + scopes: + - meta.head.function.definition.special.operator-overload + - entity.name.operator.type +- source: '&' + scopes: + - entity.name.operator.type.reference +- source: ( + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: const + scopes: + - storage.modifier.const + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: std + scopes: + - entity.name.scope-resolution.operator-overload +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.operator-overload +- source: string_view + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - entity.name.operator.type +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: friend + scopes: + - storage.modifier.specifier.functional.pre-parameters.friend +- source: std + scopesBegin: + - meta.function.definition.special.operator-overload + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '&' + scopes: + - storage.modifier.reference +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '<<' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: std + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: ostream + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: os + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: SymbolStr + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: symbol + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.head.function.definition.special.operator-overload +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.class + scopesEnd: + - meta.body.class +- source: ; + scopes: + - punctuation.terminator.statement +- source: class + scopes: + - meta.head.class + - storage.type.class +- source: Symbol + scopes: + - entity.name.type.class +- source: '{' + scopes: + - meta.head.class + - punctuation.section.block.begin.bracket.curly.class +- source: friend + scopesBegin: + - meta.body.class + scopes: + - storage.modifier.specifier.functional.pre-parameters.friend +- source: class + scopesBegin: + - meta.block.class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolTable + scopes: + - entity.name.type.class +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.class +- source: private + scopesBegin: + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: uint32_t + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: id + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: explicit + scopesBegin: + - meta.function.definition.special.constructor + scopes: + - storage.modifier.specifier.functional.pre-parameters.explicit +- source: Symbol + scopesBegin: + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: uint32_t + scopesBegin: + - meta.function.definition.parameters.special.constructor + - meta.parameter + scopes: + - storage.type + - storage.type.built-in +- source: id + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.constructor + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: id + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: id + scopes: + - meta.parameter.initialization + - variable.lower-case + - variable.other.unknown.id +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: public + scopesBegin: + - storage.type.modifier.access.control.public +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.public +- source: Symbol + scopesBegin: + - meta.function.definition.special.constructor + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: id + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: '0' + scopes: + - meta.parameter.initialization + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: explicit + scopes: + - storage.modifier.specifier.functional.pre-parameters.explicit +- source: operator + scopesBegin: + - meta.function.definition.special.operator-overload + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: bool + scopes: + - entity.name.operator.type +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: id + scopes: + - variable.lower-case + - variable.other.unknown.id +- source: '>' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: bool + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: < + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: const + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Symbol + scopes: + - entity.name.type.parameter +- source: other + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: id + scopes: + - variable.lower-case + - variable.other.unknown.id +- source: < + scopes: + - keyword.operator.comparison +- source: other + scopes: + - variable.lower-case + - variable.other.object.access.other +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: bool + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '==' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: const + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Symbol + scopes: + - entity.name.type.parameter +- source: other + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: id + scopes: + - variable.lower-case + - variable.other.unknown.id +- source: '==' + scopes: + - keyword.operator.comparison +- source: other + scopes: + - variable.lower-case + - variable.other.object.access.other +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: bool + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '!=' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: const + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Symbol + scopes: + - entity.name.type.parameter +- source: other + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: id + scopes: + - variable.lower-case + - variable.other.unknown.id +- source: '!=' + scopes: + - keyword.operator.comparison +- source: other + scopes: + - variable.lower-case + - variable.other.object.access.other +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.class + scopesEnd: + - meta.body.class +- source: ; + scopes: + - punctuation.terminator.statement +- source: class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolTable + scopes: + - entity.name.type.class +- source: '{' + scopes: + - meta.head.class + - punctuation.section.block.begin.bracket.curly.class +- source: private + scopesBegin: + - meta.body.class + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: unordered_map + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string_view + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: pair + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: uint32_t + scopes: + - storage.type + - storage.type.built-in +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: symbols + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: ChunkedVector + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: '8192' + scopes: + - constant.numeric.decimal +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: store + scopes: + - variable.lower-case + - variable.other.object.construction +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '16' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: public + scopesBegin: + - storage.type.modifier.access.control.public +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.public +- source: Symbol + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - entity.name.type +- source: create + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: std + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: s + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: // + scopesBegin: + - meta.body.function.definition + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Most symbols are looked up more than once, so we trade off insertion performance' +- source: // + scopes: + - punctuation.definition.comment +- source: ' for lookup performance.' +- source: // + scopes: + - punctuation.definition.comment +- source: ' TODO: could probably be done more efficiently with transparent Hash and Equals' +- source: // + scopes: + - punctuation.definition.comment +- source: ' on the original implementation using unordered_set' +- source: // + scopes: + - punctuation.definition.comment +- source: ' FIXME: make this thread-safe.' + scopesEnd: + - comment.line.double-slash +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: it + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.access.symbols +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: it + scopes: + - variable.lower-case + - variable.other.unknown.it +- source: '!=' + scopes: + - keyword.operator.comparison +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.access.symbols +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: Symbol + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: it + scopes: + - variable.lower-case + - variable.other.object.access.it +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - keyword.operator.bitwise +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: rawSym + scopes: + - variable.camel-case + - variable.other.unknown.rawSym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: . + scopes: + - punctuation.separator.dot-access +- source: add + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.access.symbols +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: rawSym + scopes: + - variable.camel-case + - variable.other.unknown.rawSym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_pair + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '&' + scopes: + - keyword.operator.bitwise +- source: rawSym + scopes: + - variable.camel-case + - variable.other.unknown.rawSym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: Symbol + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: std + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: SymbolStr + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: resolve + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: const + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: vector + scopes: + - entity.name.type.parameter +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Symbol + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call +- source: '&' + scopes: + - storage.modifier.reference +- source: symbols + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: SymbolStr + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: result + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: result + scopes: + - variable.lower-case + - variable.other.object.access.result +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.access.symbols +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sym + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: symbols + scopes: + - variable.lower-case + - variable.other.unknown.symbols + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: result + scopes: + - variable.lower-case + - variable.other.object.access.result +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: this + scopes: + - variable.language.this +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: result + scopes: + - variable.lower-case + - variable.other.unknown.result +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: SymbolStr + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - meta.qualified-type + - entity.name.type +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '[]' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: Symbol + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.type.parameter +- source: s + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: if + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: '||' + scopes: + - keyword.operator.logical +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: '>' + scopes: + - keyword.operator.comparison +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: abort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: SymbolStr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: store + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: size_t + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: size + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: size_t + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: totalSize + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: template + scopes: + - storage.type.template +- source: < + scopes: + - punctuation.section.angle-brackets.begin.template.definition +- source: typename + scopesBegin: + - meta.template.definition + scopes: + - storage.type.template.argument.typename +- source: T + scopes: + - entity.name.type.template + scopesEnd: + - meta.template.definition +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.definition +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: dump + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: T + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: callback + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: store + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: . + scopes: + - punctuation.separator.dot-access +- source: forEach + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: callback + scopes: + - variable.lower-case + - variable.other.unknown.callback +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.class + scopesEnd: + - meta.body.class +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.class +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.namespace diff --git a/language_examples/pr_161.spec.yaml b/language_examples/pr_161.spec.yaml index 74fa2787..c6c0b761 100644 --- a/language_examples/pr_161.spec.yaml +++ b/language_examples/pr_161.spec.yaml @@ -11,7 +11,7 @@ - keyword.operator.assignment - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -27,7 +27,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -38,7 +38,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -61,17 +61,26 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.decltype -- source: 'a ' +- source: a scopesBegin: - meta.arguments.decltype + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary -- source: ' b ' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary -- source: ' c' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c scopesEnd: - meta.arguments.decltype - source: ) @@ -111,7 +120,7 @@ - keyword.operator.assignment - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -127,7 +136,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -138,7 +147,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -161,17 +170,26 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.decltype -- source: 'a ' +- source: a scopesBegin: - meta.arguments.decltype + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary -- source: ' b ' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary -- source: ' c' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c scopesEnd: - meta.arguments.decltype - source: ) @@ -194,7 +212,7 @@ - meta.tail.struct - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -227,7 +245,7 @@ - keyword.operator.assignment - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -243,7 +261,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -254,7 +272,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -277,17 +295,26 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.decltype -- source: 'a ' +- source: a scopesBegin: - meta.arguments.decltype + scopes: + - variable.lower-case + - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary -- source: ' b ' +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary -- source: ' c' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c scopesEnd: - meta.arguments.decltype - source: ) diff --git a/language_examples/pr_431.spec.yaml b/language_examples/pr_431.spec.yaml index 2ed349a8..30316751 100644 --- a/language_examples/pr_431.spec.yaml +++ b/language_examples/pr_431.spec.yaml @@ -8,7 +8,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'octal_escape_test ' +- source: octal_escape_test + scopes: + - variable.other.unknown.octal_escape_test - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/pr_435.spec.yaml b/language_examples/pr_435.spec.yaml index f43b6432..8c16245b 100644 --- a/language_examples/pr_435.spec.yaml +++ b/language_examples/pr_435.spec.yaml @@ -13,7 +13,7 @@ - source: task scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -25,7 +25,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: tcp_echo_server scopesBegin: @@ -46,15 +46,19 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: data - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '1024' @@ -64,6 +68,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -78,9 +83,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -93,19 +100,30 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: size_t + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type - storage.type.built-in -- source: ' n ' +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: co_await scopes: - keyword.control.co_await - source: socket scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.socket - source: . scopes: - punctuation.separator.dot-access @@ -122,12 +140,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -141,6 +164,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: socket + scopes: + - variable.lower-case + - variable.other.unknown.socket - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -151,10 +177,16 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.lower-case + - variable.other.unknown.data - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -176,7 +208,7 @@ - meta.body.function.definition - source: generator scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -192,7 +224,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: iota scopesBegin: @@ -250,7 +282,10 @@ - source: co_yield scopes: - keyword.control.co_yield -- source: ' n' +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n - source: ++ scopes: - keyword.operator.increment @@ -264,7 +299,7 @@ - meta.body.function.definition - source: lazy scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -280,7 +315,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: f scopesBegin: diff --git a/language_examples/ranged_for.cpp b/language_examples/ranged_for.cpp new file mode 100644 index 00000000..13dc02f0 --- /dev/null +++ b/language_examples/ranged_for.cpp @@ -0,0 +1,3994 @@ +#include "archive.hh" +#include "derivations.hh" +#include "eval-inline.hh" +#include "eval.hh" +#include "globals.hh" +#include "json-to-value.hh" +#include "names.hh" +#include "store-api.hh" +#include "util.hh" +#include "json.hh" +#include "value-to-json.hh" +#include "value-to-xml.hh" +#include "primops.hh" + +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include + + +namespace nix { + + +/************************************************************* + * Miscellaneous + *************************************************************/ + + +InvalidPathError::InvalidPathError(const Path & path) : + EvalError("path '%s' is not valid", path), path(path) {} + +StringMap EvalState::realiseContext(const PathSet & context) +{ + std::vector drvs; + StringMap res; + + for (auto & i : context) { + auto [ctx, outputName] = decodeContext(*store, i); + auto ctxS = store->printStorePath(ctx); + if (!store->isValidPath(ctx)) + debugThrowLastTrace(InvalidPathError(store->printStorePath(ctx))); + if (!outputName.empty() && ctx.isDerivation()) { + drvs.push_back({ctx, {outputName}}); + } else { + res.insert_or_assign(ctxS, ctxS); + } + } + + if (drvs.empty()) return {}; + + if (!evalSettings.enableImportFromDerivation) + debugThrowLastTrace(Error( + "cannot build '%1%' during evaluation because the option 'allow-import-from-derivation' is disabled", + store->printStorePath(drvs.begin()->drvPath))); + + /* Build/substitute the context. */ + std::vector buildReqs; + for (auto & d : drvs) buildReqs.emplace_back(DerivedPath { d }); + store->buildPaths(buildReqs); + + /* Get all the output paths corresponding to the placeholders we had */ + for (auto & [drvPath, outputs] : drvs) { + const auto outputPaths = store->queryDerivationOutputMap(drvPath); + for (auto & outputName : outputs) { + auto outputPath = get(outputPaths, outputName); + if (!outputPath) + debugThrowLastTrace(Error("derivation '%s' does not have an output named '%s'", + store->printStorePath(drvPath), outputName)); + res.insert_or_assign( + downstreamPlaceholder(*store, drvPath, outputName), + store->printStorePath(*outputPath) + ); + } + } + + /* Add the output of this derivations to the allowed + paths. */ + if (allowedPaths) { + for (auto & [_placeholder, outputPath] : res) { + allowPath(store->toRealPath(outputPath)); + } + } + + return res; +} + +struct RealisePathFlags { + // Whether to check that the path is allowed in pure eval mode + bool checkForPureEval = true; +}; + +static Path realisePath(EvalState & state, const PosIdx pos, Value & v, const RealisePathFlags flags = {}) +{ + PathSet context; + + auto path = [&]() + { + try { + return state.coerceToPath(pos, v, context); + } catch (Error & e) { + e.addTrace(state.positions[pos], "while realising the context of a path"); + throw; + } + }(); + + try { + StringMap rewrites = state.realiseContext(context); + + auto realPath = state.toRealPath(rewriteStrings(path, rewrites), context); + + return flags.checkForPureEval + ? state.checkSourcePath(realPath) + : realPath; + } catch (Error & e) { + e.addTrace(state.positions[pos], "while realising the context of path '%s'", path); + throw; + } +} + +/* Add and attribute to the given attribute map from the output name to + the output path, or a placeholder. + + Where possible the path is used, but for floating CA derivations we + may not know it. For sake of determinism we always assume we don't + and instead put in a place holder. In either case, however, the + string context will contain the drv path and output name, so + downstream derivations will have the proper dependency, and in + addition, before building, the placeholder will be rewritten to be + the actual path. + + The 'drv' and 'drvPath' outputs must correspond. */ +static void mkOutputString( + EvalState & state, + BindingsBuilder & attrs, + const StorePath & drvPath, + const BasicDerivation & drv, + const std::pair & o) +{ + auto optOutputPath = o.second.path(*state.store, drv.name, o.first); + attrs.alloc(o.first).mkString( + optOutputPath + ? state.store->printStorePath(*optOutputPath) + /* Downstream we would substitute this for an actual path once + we build the floating CA derivation */ + /* FIXME: we need to depend on the basic derivation, not + derivation */ + : downstreamPlaceholder(*state.store, drvPath, o.first), + {"!" + o.first + "!" + state.store->printStorePath(drvPath)}); +} + +/* Load and evaluate an expression from path specified by the + argument. */ +static void import(EvalState & state, const PosIdx pos, Value & vPath, Value * vScope, Value & v) +{ + auto path = realisePath(state, pos, vPath); + + // FIXME + auto isValidDerivationInStore = [&]() -> std::optional { + if (!state.store->isStorePath(path)) + return std::nullopt; + auto storePath = state.store->parseStorePath(path); + if (!(state.store->isValidPath(storePath) && isDerivation(path))) + return std::nullopt; + return storePath; + }; + + if (auto optStorePath = isValidDerivationInStore()) { + auto storePath = *optStorePath; + Derivation drv = state.store->readDerivation(storePath); + auto attrs = state.buildBindings(3 + drv.outputs.size()); + attrs.alloc(state.sDrvPath).mkString(path, {"=" + path}); + attrs.alloc(state.sName).mkString(drv.env["name"]); + auto & outputsVal = attrs.alloc(state.sOutputs); + state.mkList(outputsVal, drv.outputs.size()); + + for (const auto & [i, o] : enumerate(drv.outputs)) { + mkOutputString(state, attrs, storePath, drv, o); + (outputsVal.listElems()[i] = state.allocValue())->mkString(o.first); + } + + auto w = state.allocValue(); + w->mkAttrs(attrs); + + if (!state.vImportedDrvToDerivation) { + state.vImportedDrvToDerivation = allocRootValue(state.allocValue()); + state.eval(state.parseExprFromString( + #include "imported-drv-to-derivation.nix.gen.hh" + , "/"), **state.vImportedDrvToDerivation); + } + + state.forceFunction(**state.vImportedDrvToDerivation, pos); + v.mkApp(*state.vImportedDrvToDerivation, w); + state.forceAttrs(v, pos); + } + + else if (path == corepkgsPrefix + "fetchurl.nix") { + state.eval(state.parseExprFromString( + #include "fetchurl.nix.gen.hh" + , "/"), v); + } + + else { + if (!vScope) + state.evalFile(path, v); + else { + state.forceAttrs(*vScope, pos); + + Env * env = &state.allocEnv(vScope->attrs->size()); + env->up = &state.baseEnv; + + auto staticEnv = std::make_shared(false, state.staticBaseEnv.get(), vScope->attrs->size()); + + unsigned int displ = 0; + for (auto & attr : *vScope->attrs) { + staticEnv->vars.emplace_back(attr.name, displ); + env->values[displ++] = attr.value; + } + + // No need to call staticEnv.sort(), because + // args[0]->attrs is already sorted. + + printTalkative("evaluating file '%1%'", path); + Expr * e = state.parseExprFromFile(resolveExprPath(path), staticEnv); + + e->eval(state, *env, v); + } + } +} + +static RegisterPrimOp primop_scopedImport(RegisterPrimOp::Info { + .name = "scopedImport", + .arity = 2, + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + import(state, pos, *args[1], args[0], v); + } +}); + +static RegisterPrimOp primop_import({ + .name = "import", + .args = {"path"}, + .doc = R"( + Load, parse and return the Nix expression in the file *path*. If + *path* is a directory, the file ` default.nix ` in that directory + is loaded. Evaluation aborts if the file doesn’t exist or contains + an incorrect Nix expression. `import` implements Nix’s module + system: you can put any Nix expression (such as a set or a + function) in a separate file, and use it from Nix expressions in + other files. + + > **Note** + > + > Unlike some languages, `import` is a regular function in Nix. + > Paths using the angle bracket syntax (e.g., `import` *\*) + > are [normal path values](language-values.md). + + A Nix expression loaded by `import` must not contain any *free + variables* (identifiers that are not defined in the Nix expression + itself and are not built-in). Therefore, it cannot refer to + variables that are in scope at the call site. For instance, if you + have a calling expression + + ```nix + rec { + x = 123; + y = import ./foo.nix; + } + ``` + + then the following `foo.nix` will give an error: + + ```nix + x + 456 + ``` + + since `x` is not in scope in `foo.nix`. If you want `x` to be + available in `foo.nix`, you should pass it as a function argument: + + ```nix + rec { + x = 123; + y = import ./foo.nix x; + } + ``` + + and + + ```nix + x: x + 456 + ``` + + (The function argument doesn’t have to be called `x` in `foo.nix`; + any name would work.) + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + import(state, pos, *args[0], nullptr, v); + } +}); + +/* Want reasonable symbol names, so extern C */ +/* !!! Should we pass the Pos or the file name too? */ +extern "C" typedef void (*ValueInitializer)(EvalState & state, Value & v); + +/* Load a ValueInitializer from a DSO and return whatever it initializes */ +void prim_importNative(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto path = realisePath(state, pos, *args[0]); + + std::string sym(state.forceStringNoCtx(*args[1], pos)); + + void *handle = dlopen(path.c_str(), RTLD_LAZY | RTLD_LOCAL); + if (!handle) + state.debugThrowLastTrace(EvalError("could not open '%1%': %2%", path, dlerror())); + + dlerror(); + ValueInitializer func = (ValueInitializer) dlsym(handle, sym.c_str()); + if(!func) { + char *message = dlerror(); + if (message) + state.debugThrowLastTrace(EvalError("could not load symbol '%1%' from '%2%': %3%", sym, path, message)); + else + state.debugThrowLastTrace(EvalError("symbol '%1%' from '%2%' resolved to NULL when a function pointer was expected", sym, path)); + } + + (func)(state, v); + + /* We don't dlclose because v may be a primop referencing a function in the shared object file */ +} + + +/* Execute a program and parse its output */ +void prim_exec(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + auto elems = args[0]->listElems(); + auto count = args[0]->listSize(); + if (count == 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("at least one argument to 'exec' required"), + .errPos = state.positions[pos] + })); + PathSet context; + auto program = state.coerceToString(pos, *elems[0], context, false, false).toOwned(); + Strings commandArgs; + for (unsigned int i = 1; i < args[0]->listSize(); ++i) { + commandArgs.push_back(state.coerceToString(pos, *elems[i], context, false, false).toOwned()); + } + try { + auto _ = state.realiseContext(context); // FIXME: Handle CA derivations + } catch (InvalidPathError & e) { + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("cannot execute '%1%', since path '%2%' is not valid", + program, e.path), + .errPos = state.positions[pos] + })); + } + + auto output = runProgram(program, true, commandArgs); + Expr * parsed; + try { + auto base = state.positions[pos]; + parsed = state.parseExprFromString(std::move(output), base.file); + } catch (Error & e) { + e.addTrace(state.positions[pos], "While parsing the output from '%1%'", program); + throw; + } + try { + state.eval(parsed, v); + } catch (Error & e) { + e.addTrace(state.positions[pos], "While evaluating the output from '%1%'", program); + throw; + } +} + + +/* Return a string representing the type of the expression. */ +static void prim_typeOf(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + std::string t; + switch (args[0]->type()) { + case nInt: t = "int"; break; + case nBool: t = "bool"; break; + case nString: t = "string"; break; + case nPath: t = "path"; break; + case nNull: t = "null"; break; + case nAttrs: t = "set"; break; + case nList: t = "list"; break; + case nFunction: t = "lambda"; break; + case nExternal: + t = args[0]->external->typeOf(); + break; + case nFloat: t = "float"; break; + case nThunk: abort(); + } + v.mkString(t); +} + +static RegisterPrimOp primop_typeOf({ + .name = "__typeOf", + .args = {"e"}, + .doc = R"( + Return a string representing the type of the value *e*, namely + `"int"`, `"bool"`, `"string"`, `"path"`, `"null"`, `"set"`, + `"list"`, `"lambda"` or `"float"`. + )", + .fun = prim_typeOf, +}); + +/* Determine whether the argument is the null value. */ +static void prim_isNull(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nNull); +} + +static RegisterPrimOp primop_isNull({ + .name = "isNull", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to `null`, and `false` otherwise. + + > **Warning** + > + > This function is *deprecated*; just write `e == null` instead. + )", + .fun = prim_isNull, +}); + +/* Determine whether the argument is a function. */ +static void prim_isFunction(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nFunction); +} + +static RegisterPrimOp primop_isFunction({ + .name = "__isFunction", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a function, and `false` otherwise. + )", + .fun = prim_isFunction, +}); + +/* Determine whether the argument is an integer. */ +static void prim_isInt(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nInt); +} + +static RegisterPrimOp primop_isInt({ + .name = "__isInt", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to an integer, and `false` otherwise. + )", + .fun = prim_isInt, +}); + +/* Determine whether the argument is a float. */ +static void prim_isFloat(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nFloat); +} + +static RegisterPrimOp primop_isFloat({ + .name = "__isFloat", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a float, and `false` otherwise. + )", + .fun = prim_isFloat, +}); + +/* Determine whether the argument is a string. */ +static void prim_isString(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nString); +} + +static RegisterPrimOp primop_isString({ + .name = "__isString", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a string, and `false` otherwise. + )", + .fun = prim_isString, +}); + +/* Determine whether the argument is a Boolean. */ +static void prim_isBool(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nBool); +} + +static RegisterPrimOp primop_isBool({ + .name = "__isBool", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a bool, and `false` otherwise. + )", + .fun = prim_isBool, +}); + +/* Determine whether the argument is a path. */ +static void prim_isPath(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nPath); +} + +static RegisterPrimOp primop_isPath({ + .name = "__isPath", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a path, and `false` otherwise. + )", + .fun = prim_isPath, +}); + +struct CompareValues +{ + EvalState & state; + + CompareValues(EvalState & state) : state(state) { }; + + bool operator () (Value * v1, Value * v2) const + { + if (v1->type() == nFloat && v2->type() == nInt) + return v1->fpoint < v2->integer; + if (v1->type() == nInt && v2->type() == nFloat) + return v1->integer < v2->fpoint; + if (v1->type() != v2->type()) + state.debugThrowLastTrace(EvalError("cannot compare %1% with %2%", showType(*v1), showType(*v2))); + switch (v1->type()) { + case nInt: + return v1->integer < v2->integer; + case nFloat: + return v1->fpoint < v2->fpoint; + case nString: + return strcmp(v1->string.s, v2->string.s) < 0; + case nPath: + return strcmp(v1->path, v2->path) < 0; + case nList: + // Lexicographic comparison + for (size_t i = 0;; i++) { + if (i == v2->listSize()) { + return false; + } else if (i == v1->listSize()) { + return true; + } else if (!state.eqValues(*v1->listElems()[i], *v2->listElems()[i])) { + return (*this)(v1->listElems()[i], v2->listElems()[i]); + } + } + default: + state.debugThrowLastTrace(EvalError("cannot compare %1% with %2%", showType(*v1), showType(*v2))); + } + } +}; + + +#if HAVE_BOEHMGC +typedef std::list> ValueList; +#else +typedef std::list ValueList; +#endif + + +static Bindings::iterator getAttr( + EvalState & state, + std::string_view funcName, + Symbol attrSym, + Bindings * attrSet, + const PosIdx pos) +{ + Bindings::iterator value = attrSet->find(attrSym); + if (value == attrSet->end()) { + hintformat errorMsg = hintfmt( + "attribute '%s' missing for call to '%s'", + state.symbols[attrSym], + funcName + ); + + auto aPos = attrSet->pos; + if (!aPos) { + state.debugThrowLastTrace(TypeError({ + .msg = errorMsg, + .errPos = state.positions[pos], + })); + } else { + auto e = TypeError({ + .msg = errorMsg, + .errPos = state.positions[aPos], + }); + + // Adding another trace for the function name to make it clear + // which call received wrong arguments. + e.addTrace(state.positions[pos], hintfmt("while invoking '%s'", funcName)); + state.debugThrowLastTrace(e); + } + } + + return value; +} + +static void prim_genericClosure(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + /* Get the start set. */ + Bindings::iterator startSet = getAttr( + state, + "genericClosure", + state.sStartSet, + args[0]->attrs, + pos + ); + + state.forceList(*startSet->value, pos); + + ValueList workSet; + for (auto elem : startSet->value->listItems()) + workSet.push_back(elem); + + /* Get the operator. */ + Bindings::iterator op = getAttr( + state, + "genericClosure", + state.sOperator, + args[0]->attrs, + pos + ); + + state.forceValue(*op->value, pos); + + /* Construct the closure by applying the operator to element of + `workSet', adding the result to `workSet', continuing until + no new elements are found. */ + ValueList res; + // `doneKeys' doesn't need to be a GC root, because its values are + // reachable from res. + auto cmp = CompareValues(state); + std::set doneKeys(cmp); + while (!workSet.empty()) { + Value * e = *(workSet.begin()); + workSet.pop_front(); + + state.forceAttrs(*e, pos); + + Bindings::iterator key = + e->attrs->find(state.sKey); + if (key == e->attrs->end()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("attribute 'key' required"), + .errPos = state.positions[pos] + })); + state.forceValue(*key->value, pos); + + if (!doneKeys.insert(key->value).second) continue; + res.push_back(e); + + /* Call the `operator' function with `e' as argument. */ + Value call; + call.mkApp(op->value, e); + state.forceList(call, pos); + + /* Add the values returned by the operator to the work set. */ + for (auto elem : call.listItems()) { + state.forceValue(*elem, pos); + workSet.push_back(elem); + } + } + + /* Create the result list. */ + state.mkList(v, res.size()); + unsigned int n = 0; + for (auto & i : res) + v.listElems()[n++] = i; +} + +static RegisterPrimOp primop_genericClosure(RegisterPrimOp::Info { + .name = "__genericClosure", + .args = {"attrset"}, + .arity = 1, + .doc = R"( + Take an *attrset* with values named `startSet` and `operator` in order to + return a *list of attrsets* by starting with the `startSet`, recursively + applying the `operator` function to each element. The *attrsets* in the + `startSet` and produced by the `operator` must each contain value named + `key` which are comparable to each other. The result is produced by + repeatedly calling the operator for each element encountered with a + unique key, terminating when no new elements are produced. For example, + + ``` + builtins.genericClosure { + startSet = [ {key = 5;} ]; + operator = item: [{ + key = if (item.key / 2 ) * 2 == item.key + then item.key / 2 + else 3 * item.key + 1; + }]; + } + ``` + evaluates to + ``` + [ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ] + ``` + )", + .fun = prim_genericClosure, +}); + + +static RegisterPrimOp primop_break({ + .name = "break", + .args = {"v"}, + .doc = R"( + In debug mode (enabled using `--debugger`), pause Nix expression evaluation and enter the REPL. + Otherwise, return the argument `v`. + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + if (state.debugRepl && !state.debugTraces.empty()) { + auto error = Error(ErrorInfo { + .level = lvlInfo, + .msg = hintfmt("breakpoint reached"), + .errPos = state.positions[pos], + }); + + auto & dt = state.debugTraces.front(); + state.runDebugRepl(&error, dt.env, dt.expr); + + if (state.debugQuit) { + // If the user elects to quit the repl, throw an exception. + throw Error(ErrorInfo{ + .level = lvlInfo, + .msg = hintfmt("quit the debugger"), + .errPos = state.positions[noPos], + }); + } + } + + // Return the value we were passed. + v = *args[0]; + } +}); + +static RegisterPrimOp primop_abort({ + .name = "abort", + .args = {"s"}, + .doc = R"( + Abort Nix expression evaluation and print the error message *s*. + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + PathSet context; + auto s = state.coerceToString(pos, *args[0], context).toOwned(); + state.debugThrowLastTrace(Abort("evaluation aborted with the following error message: '%1%'", s)); + } +}); + +static RegisterPrimOp primop_throw({ + .name = "throw", + .args = {"s"}, + .doc = R"( + Throw an error message *s*. This usually aborts Nix expression + evaluation, but in `nix-env -qa` and other commands that try to + evaluate a set of derivations to get information about those + derivations, a derivation that throws an error is silently skipped + (which is not the case for `abort`). + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + PathSet context; + auto s = state.coerceToString(pos, *args[0], context).toOwned(); + state.debugThrowLastTrace(ThrownError(s)); + } +}); + +static void prim_addErrorContext(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + try { + state.forceValue(*args[1], pos); + v = *args[1]; + } catch (Error & e) { + PathSet context; + e.addTrace(std::nullopt, state.coerceToString(pos, *args[0], context).toOwned()); + throw; + } +} + +static RegisterPrimOp primop_addErrorContext(RegisterPrimOp::Info { + .name = "__addErrorContext", + .arity = 2, + .fun = prim_addErrorContext, +}); + +static void prim_ceil(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto value = state.forceFloat(*args[0], args[0]->determinePos(pos)); + v.mkInt(ceil(value)); +} + +static RegisterPrimOp primop_ceil({ + .name = "__ceil", + .args = {"double"}, + .doc = R"( + Converts an IEEE-754 double-precision floating-point number (*double*) to + the next higher integer. + + If the datatype is neither an integer nor a "float", an evaluation error will be + thrown. + )", + .fun = prim_ceil, +}); + +static void prim_floor(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto value = state.forceFloat(*args[0], args[0]->determinePos(pos)); + v.mkInt(floor(value)); +} + +static RegisterPrimOp primop_floor({ + .name = "__floor", + .args = {"double"}, + .doc = R"( + Converts an IEEE-754 double-precision floating-point number (*double*) to + the next lower integer. + + If the datatype is neither an integer nor a "float", an evaluation error will be + thrown. + )", + .fun = prim_floor, +}); + +/* Try evaluating the argument. Success => {success=true; value=something;}, + * else => {success=false; value=false;} */ +static void prim_tryEval(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attrs = state.buildBindings(2); + try { + state.forceValue(*args[0], pos); + attrs.insert(state.sValue, args[0]); + attrs.alloc("success").mkBool(true); + } catch (AssertionError & e) { + attrs.alloc(state.sValue).mkBool(false); + attrs.alloc("success").mkBool(false); + } + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_tryEval({ + .name = "__tryEval", + .args = {"e"}, + .doc = R"( + Try to shallowly evaluate *e*. Return a set containing the + attributes `success` (`true` if *e* evaluated successfully, + `false` if an error was thrown) and `value`, equalling *e* if + successful and `false` otherwise. `tryEval` will only prevent + errors created by `throw` or `assert` from being thrown. + Errors `tryEval` will not catch are for example those created + by `abort` and type errors generated by builtins. Also note that + this doesn't evaluate *e* deeply, so `let e = { x = throw ""; }; + in (builtins.tryEval e).success` will be `true`. Using + `builtins.deepSeq` one can get the expected result: + `let e = { x = throw ""; }; in + (builtins.tryEval (builtins.deepSeq e e)).success` will be + `false`. + )", + .fun = prim_tryEval, +}); + +/* Return an environment variable. Use with care. */ +static void prim_getEnv(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + std::string name(state.forceStringNoCtx(*args[0], pos)); + v.mkString(evalSettings.restrictEval || evalSettings.pureEval ? "" : getEnv(name).value_or("")); +} + +static RegisterPrimOp primop_getEnv({ + .name = "__getEnv", + .args = {"s"}, + .doc = R"( + `getEnv` returns the value of the environment variable *s*, or an + empty string if the variable doesn’t exist. This function should be + used with care, as it can introduce all sorts of nasty environment + dependencies in your Nix expression. + + `getEnv` is used in Nix Packages to locate the file + `~/.nixpkgs/config.nix`, which contains user-local settings for Nix + Packages. (That is, it does a `getEnv "HOME"` to locate the user’s + home directory.) + )", + .fun = prim_getEnv, +}); + +/* Evaluate the first argument, then return the second argument. */ +static void prim_seq(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + v = *args[1]; +} + +static RegisterPrimOp primop_seq({ + .name = "__seq", + .args = {"e1", "e2"}, + .doc = R"( + Evaluate *e1*, then evaluate and return *e2*. This ensures that a + computation is strict in the value of *e1*. + )", + .fun = prim_seq, +}); + +/* Evaluate the first argument deeply (i.e. recursing into lists and + attrsets), then return the second argument. */ +static void prim_deepSeq(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValueDeep(*args[0]); + state.forceValue(*args[1], pos); + v = *args[1]; +} + +static RegisterPrimOp primop_deepSeq({ + .name = "__deepSeq", + .args = {"e1", "e2"}, + .doc = R"( + This is like `seq e1 e2`, except that *e1* is evaluated *deeply*: + if it’s a list or set, its elements or attributes are also + evaluated recursively. + )", + .fun = prim_deepSeq, +}); + +/* Evaluate the first expression and print it on standard error. Then + return the second expression. Useful for debugging. */ +static void prim_trace(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + if (args[0]->type() == nString) + printError("trace: %1%", args[0]->string.s); + else + printError("trace: %1%", printValue(state, *args[0])); + state.forceValue(*args[1], pos); + v = *args[1]; +} + +static RegisterPrimOp primop_trace({ + .name = "__trace", + .args = {"e1", "e2"}, + .doc = R"( + Evaluate *e1* and print its abstract syntax representation on + standard error. Then return *e2*. This function is useful for + debugging. + )", + .fun = prim_trace, +}); + + +/************************************************************* + * Derivations + *************************************************************/ + + +/* Construct (as a unobservable side effect) a Nix derivation + expression that performs the derivation described by the argument + set. Returns the original set extended with the following + attributes: `outPath' containing the primary output path of the + derivation; `drvPath' containing the path of the Nix expression; + and `type' set to `derivation' to indicate that this is a + derivation. */ +static void prim_derivationStrict(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + /* Figure out the name first (for stack backtraces). */ + Bindings::iterator attr = getAttr( + state, + "derivationStrict", + state.sName, + args[0]->attrs, + pos + ); + + std::string drvName; + const auto posDrvName = attr->pos; + try { + drvName = state.forceStringNoCtx(*attr->value, pos); + } catch (Error & e) { + e.addTrace(state.positions[posDrvName], "while evaluating the derivation attribute 'name'"); + throw; + } + + /* Check whether attributes should be passed as a JSON file. */ + std::ostringstream jsonBuf; + std::unique_ptr jsonObject; + attr = args[0]->attrs->find(state.sStructuredAttrs); + if (attr != args[0]->attrs->end() && state.forceBool(*attr->value, pos)) + jsonObject = std::make_unique(jsonBuf); + + /* Check whether null attributes should be ignored. */ + bool ignoreNulls = false; + attr = args[0]->attrs->find(state.sIgnoreNulls); + if (attr != args[0]->attrs->end()) + ignoreNulls = state.forceBool(*attr->value, pos); + + /* Build the derivation expression by processing the attributes. */ + Derivation drv; + drv.name = drvName; + + PathSet context; + + bool contentAddressed = false; + bool isImpure = false; + std::optional outputHash; + std::string outputHashAlgo; + std::optional ingestionMethod; + + StringSet outputs; + outputs.insert("out"); + + for (auto & i : args[0]->attrs->lexicographicOrder(state.symbols)) { + if (i->name == state.sIgnoreNulls) continue; + const std::string & key = state.symbols[i->name]; + vomit("processing attribute '%1%'", key); + + auto handleHashMode = [&](const std::string_view s) { + if (s == "recursive") ingestionMethod = FileIngestionMethod::Recursive; + else if (s == "flat") ingestionMethod = FileIngestionMethod::Flat; + else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid value '%s' for 'outputHashMode' attribute", s), + .errPos = state.positions[posDrvName] + })); + }; + + auto handleOutputs = [&](const Strings & ss) { + outputs.clear(); + for (auto & j : ss) { + if (outputs.find(j) != outputs.end()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("duplicate derivation output '%1%'", j), + .errPos = state.positions[posDrvName] + })); + /* !!! Check whether j is a valid attribute + name. */ + /* Derivations cannot be named ‘drv’, because + then we'd have an attribute ‘drvPath’ in + the resulting set. */ + if (j == "drv") + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid derivation output name 'drv'" ), + .errPos = state.positions[posDrvName] + })); + outputs.insert(j); + } + if (outputs.empty()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("derivation cannot have an empty set of outputs"), + .errPos = state.positions[posDrvName] + })); + }; + + try { + + if (ignoreNulls) { + state.forceValue(*i->value, pos); + if (i->value->type() == nNull) continue; + } + + if (i->name == state.sContentAddressed) { + contentAddressed = state.forceBool(*i->value, pos); + if (contentAddressed) + settings.requireExperimentalFeature(Xp::CaDerivations); + } + + else if (i->name == state.sImpure) { + isImpure = state.forceBool(*i->value, pos); + if (isImpure) + settings.requireExperimentalFeature(Xp::ImpureDerivations); + } + + /* The `args' attribute is special: it supplies the + command-line arguments to the builder. */ + else if (i->name == state.sArgs) { + state.forceList(*i->value, pos); + for (auto elem : i->value->listItems()) { + auto s = state.coerceToString(posDrvName, *elem, context, true).toOwned(); + drv.args.push_back(s); + } + } + + /* All other attributes are passed to the builder through + the environment. */ + else { + + if (jsonObject) { + + if (i->name == state.sStructuredAttrs) continue; + + auto placeholder(jsonObject->placeholder(key)); + printValueAsJSON(state, true, *i->value, pos, placeholder, context); + + if (i->name == state.sBuilder) + drv.builder = state.forceString(*i->value, context, posDrvName); + else if (i->name == state.sSystem) + drv.platform = state.forceStringNoCtx(*i->value, posDrvName); + else if (i->name == state.sOutputHash) + outputHash = state.forceStringNoCtx(*i->value, posDrvName); + else if (i->name == state.sOutputHashAlgo) + outputHashAlgo = state.forceStringNoCtx(*i->value, posDrvName); + else if (i->name == state.sOutputHashMode) + handleHashMode(state.forceStringNoCtx(*i->value, posDrvName)); + else if (i->name == state.sOutputs) { + /* Require ‘outputs’ to be a list of strings. */ + state.forceList(*i->value, posDrvName); + Strings ss; + for (auto elem : i->value->listItems()) + ss.emplace_back(state.forceStringNoCtx(*elem, posDrvName)); + handleOutputs(ss); + } + + } else { + auto s = state.coerceToString(i->pos, *i->value, context, true).toOwned(); + drv.env.emplace(key, s); + if (i->name == state.sBuilder) drv.builder = std::move(s); + else if (i->name == state.sSystem) drv.platform = std::move(s); + else if (i->name == state.sOutputHash) outputHash = std::move(s); + else if (i->name == state.sOutputHashAlgo) outputHashAlgo = std::move(s); + else if (i->name == state.sOutputHashMode) handleHashMode(s); + else if (i->name == state.sOutputs) + handleOutputs(tokenizeString(s)); + } + + } + + } catch (Error & e) { + e.addTrace(state.positions[posDrvName], + "while evaluating the attribute '%1%' of the derivation '%2%'", + key, drvName); + throw; + } + } + + if (jsonObject) { + jsonObject.reset(); + drv.env.emplace("__json", jsonBuf.str()); + } + + /* Everything in the context of the strings in the derivation + attributes should be added as dependencies of the resulting + derivation. */ + for (auto & path : context) { + + /* Paths marked with `=' denote that the path of a derivation + is explicitly passed to the builder. Since that allows the + builder to gain access to every path in the dependency + graph of the derivation (including all outputs), all paths + in the graph must be added to this derivation's list of + inputs to ensure that they are available when the builder + runs. */ + if (path.at(0) == '=') { + /* !!! This doesn't work if readOnlyMode is set. */ + StorePathSet refs; + state.store->computeFSClosure(state.store->parseStorePath(std::string_view(path).substr(1)), refs); + for (auto & j : refs) { + drv.inputSrcs.insert(j); + if (j.isDerivation()) + drv.inputDrvs[j] = state.store->readDerivation(j).outputNames(); + } + } + + /* Handle derivation outputs of the form ‘!!’. */ + else if (path.at(0) == '!') { + auto ctx = decodeContext(*state.store, path); + drv.inputDrvs[ctx.first].insert(ctx.second); + } + + /* Otherwise it's a source file. */ + else + drv.inputSrcs.insert(state.store->parseStorePath(path)); + } + + /* Do we have all required attributes? */ + if (drv.builder == "") + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("required attribute 'builder' missing"), + .errPos = state.positions[posDrvName] + })); + + if (drv.platform == "") + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("required attribute 'system' missing"), + .errPos = state.positions[posDrvName] + })); + + /* Check whether the derivation name is valid. */ + if (isDerivation(drvName)) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("derivation names are not allowed to end in '%s'", drvExtension), + .errPos = state.positions[posDrvName] + })); + + if (outputHash) { + /* Handle fixed-output derivations. + + Ignore `__contentAddressed` because fixed output derivations are + already content addressed. */ + if (outputs.size() != 1 || *(outputs.begin()) != "out") + state.debugThrowLastTrace(Error({ + .msg = hintfmt("multiple outputs are not supported in fixed-output derivations"), + .errPos = state.positions[posDrvName] + })); + + auto h = newHashAllowEmpty(*outputHash, parseHashTypeOpt(outputHashAlgo)); + + auto method = ingestionMethod.value_or(FileIngestionMethod::Flat); + auto outPath = state.store->makeFixedOutputPath(method, h, drvName); + drv.env["out"] = state.store->printStorePath(outPath); + drv.outputs.insert_or_assign("out", + DerivationOutput::CAFixed { + .hash = FixedOutputHash { + .method = method, + .hash = std::move(h), + }, + }); + } + + else if (contentAddressed || isImpure) { + if (contentAddressed && isImpure) + throw EvalError({ + .msg = hintfmt("derivation cannot be both content-addressed and impure"), + .errPos = state.positions[posDrvName] + }); + + auto ht = parseHashTypeOpt(outputHashAlgo).value_or(htSHA256); + auto method = ingestionMethod.value_or(FileIngestionMethod::Recursive); + + for (auto & i : outputs) { + drv.env[i] = hashPlaceholder(i); + if (isImpure) + drv.outputs.insert_or_assign(i, + DerivationOutput::Impure { + .method = method, + .hashType = ht, + }); + else + drv.outputs.insert_or_assign(i, + DerivationOutput::CAFloating { + .method = method, + .hashType = ht, + }); + } + } + + else { + /* Compute a hash over the "masked" store derivation, which is + the final one except that in the list of outputs, the + output paths are empty strings, and the corresponding + environment variables have an empty value. This ensures + that changes in the set of output names do get reflected in + the hash. */ + for (auto & i : outputs) { + drv.env[i] = ""; + drv.outputs.insert_or_assign(i, + DerivationOutput::Deferred { }); + } + + auto hashModulo = hashDerivationModulo(*state.store, Derivation(drv), true); + switch (hashModulo.kind) { + case DrvHash::Kind::Regular: + for (auto & i : outputs) { + auto h = get(hashModulo.hashes, i); + if (!h) + throw AssertionError({ + .msg = hintfmt("derivation produced no hash for output '%s'", i), + .errPos = state.positions[posDrvName], + }); + auto outPath = state.store->makeOutputPath(i, *h, drvName); + drv.env[i] = state.store->printStorePath(outPath); + drv.outputs.insert_or_assign( + i, + DerivationOutputInputAddressed { + .path = std::move(outPath), + }); + } + break; + ; + case DrvHash::Kind::Deferred: + for (auto & i : outputs) { + drv.outputs.insert_or_assign(i, DerivationOutputDeferred {}); + } + } + } + + /* Write the resulting term into the Nix store directory. */ + auto drvPath = writeDerivation(*state.store, drv, state.repair); + auto drvPathS = state.store->printStorePath(drvPath); + + printMsg(lvlChatty, "instantiated '%1%' -> '%2%'", drvName, drvPathS); + + /* Optimisation, but required in read-only mode! because in that + case we don't actually write store derivations, so we can't + read them later. */ + { + auto h = hashDerivationModulo(*state.store, drv, false); + drvHashes.lock()->insert_or_assign(drvPath, h); + } + + auto attrs = state.buildBindings(1 + drv.outputs.size()); + attrs.alloc(state.sDrvPath).mkString(drvPathS, {"=" + drvPathS}); + for (auto & i : drv.outputs) + mkOutputString(state, attrs, drvPath, drv, i); + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_derivationStrict(RegisterPrimOp::Info { + .name = "derivationStrict", + .arity = 1, + .fun = prim_derivationStrict, +}); + +/* Return a placeholder string for the specified output that will be + substituted by the corresponding output path at build time. For + example, 'placeholder "out"' returns the string + /1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9. At build + time, any occurrence of this string in an derivation attribute will + be replaced with the concrete path in the Nix store of the output + ‘out’. */ +static void prim_placeholder(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkString(hashPlaceholder(state.forceStringNoCtx(*args[0], pos))); +} + +static RegisterPrimOp primop_placeholder({ + .name = "placeholder", + .args = {"output"}, + .doc = R"( + Return a placeholder string for the specified *output* that will be + substituted by the corresponding output path at build time. Typical + outputs would be `"out"`, `"bin"` or `"dev"`. + )", + .fun = prim_placeholder, +}); + + +/************************************************************* + * Paths + *************************************************************/ + + +/* Convert the argument to a path. !!! obsolete? */ +static void prim_toPath(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + Path path = state.coerceToPath(pos, *args[0], context); + v.mkString(canonPath(path), context); +} + +static RegisterPrimOp primop_toPath({ + .name = "__toPath", + .args = {"s"}, + .doc = R"( + **DEPRECATED.** Use `/. + "/path"` to convert a string into an absolute + path. For relative paths, use `./. + "/path"`. + )", + .fun = prim_toPath, +}); + +/* Allow a valid store path to be used in an expression. This is + useful in some generated expressions such as in nix-push, which + generates a call to a function with an already existing store path + as argument. You don't want to use `toPath' here because it copies + the path to the Nix store, which yields a copy like + /nix/store/newhash-oldhash-oldname. In the past, `toPath' had + special case behaviour for store paths, but that created weird + corner cases. */ +static void prim_storePath(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + if (evalSettings.pureEval) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("'%s' is not allowed in pure evaluation mode", "builtins.storePath"), + .errPos = state.positions[pos] + })); + + PathSet context; + Path path = state.checkSourcePath(state.coerceToPath(pos, *args[0], context)); + /* Resolve symlinks in ‘path’, unless ‘path’ itself is a symlink + directly in the store. The latter condition is necessary so + e.g. nix-push does the right thing. */ + if (!state.store->isStorePath(path)) path = canonPath(path, true); + if (!state.store->isInStore(path)) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("path '%1%' is not in the Nix store", path), + .errPos = state.positions[pos] + })); + auto path2 = state.store->toStorePath(path).first; + if (!settings.readOnlyMode) + state.store->ensurePath(path2); + context.insert(state.store->printStorePath(path2)); + v.mkString(path, context); +} + +static RegisterPrimOp primop_storePath({ + .name = "__storePath", + .args = {"path"}, + .doc = R"( + This function allows you to define a dependency on an already + existing store path. For example, the derivation attribute `src + = builtins.storePath /nix/store/f1d18v1y…-source` causes the + derivation to depend on the specified path, which must exist or + be substitutable. Note that this differs from a plain path + (e.g. `src = /nix/store/f1d18v1y…-source`) in that the latter + causes the path to be *copied* again to the Nix store, resulting + in a new path (e.g. `/nix/store/ld01dnzc…-source-source`). + + This function is not available in pure evaluation mode. + )", + .fun = prim_storePath, +}); + +static void prim_pathExists(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + /* We don’t check the path right now, because we don’t want to + throw if the path isn’t allowed, but just return false (and we + can’t just catch the exception here because we still want to + throw if something in the evaluation of `*args[0]` tries to + access an unauthorized path). */ + auto path = realisePath(state, pos, *args[0], { .checkForPureEval = false }); + + try { + v.mkBool(pathExists(state.checkSourcePath(path))); + } catch (SysError & e) { + /* Don't give away info from errors while canonicalising + ‘path’ in restricted mode. */ + v.mkBool(false); + } catch (RestrictedPathError & e) { + v.mkBool(false); + } +} + +static RegisterPrimOp primop_pathExists({ + .name = "__pathExists", + .args = {"path"}, + .doc = R"( + Return `true` if the path *path* exists at evaluation time, and + `false` otherwise. + )", + .fun = prim_pathExists, +}); + +/* Return the base name of the given string, i.e., everything + following the last slash. */ +static void prim_baseNameOf(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + v.mkString(baseNameOf(*state.coerceToString(pos, *args[0], context, false, false)), context); +} + +static RegisterPrimOp primop_baseNameOf({ + .name = "baseNameOf", + .args = {"s"}, + .doc = R"( + Return the *base name* of the string *s*, that is, everything + following the final slash in the string. This is similar to the GNU + `basename` command. + )", + .fun = prim_baseNameOf, +}); + +/* Return the directory of the given path, i.e., everything before the + last slash. Return either a path or a string depending on the type + of the argument. */ +static void prim_dirOf(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + auto path = state.coerceToString(pos, *args[0], context, false, false); + auto dir = dirOf(*path); + if (args[0]->type() == nPath) v.mkPath(dir); else v.mkString(dir, context); +} + +static RegisterPrimOp primop_dirOf({ + .name = "dirOf", + .args = {"s"}, + .doc = R"( + Return the directory part of the string *s*, that is, everything + before the final slash in the string. This is similar to the GNU + `dirname` command. + )", + .fun = prim_dirOf, +}); + +/* Return the contents of a file as a string. */ +static void prim_readFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto path = realisePath(state, pos, *args[0]); + auto s = readFile(path); + if (s.find((char) 0) != std::string::npos) + state.debugThrowLastTrace(Error("the contents of the file '%1%' cannot be represented as a Nix string", path)); + StorePathSet refs; + if (state.store->isInStore(path)) { + try { + refs = state.store->queryPathInfo(state.store->toStorePath(path).first)->references; + } catch (Error &) { // FIXME: should be InvalidPathError + } + } + auto context = state.store->printStorePathSet(refs); + v.mkString(s, context); +} + +static RegisterPrimOp primop_readFile({ + .name = "__readFile", + .args = {"path"}, + .doc = R"( + Return the contents of the file *path* as a string. + )", + .fun = prim_readFile, +}); + +/* Find a file in the Nix search path. Used to implement paths, + which are desugared to 'findFile __nixPath "x"'. */ +static void prim_findFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + + SearchPath searchPath; + + for (auto v2 : args[0]->listItems()) { + state.forceAttrs(*v2, pos); + + std::string prefix; + Bindings::iterator i = v2->attrs->find(state.sPrefix); + if (i != v2->attrs->end()) + prefix = state.forceStringNoCtx(*i->value, pos); + + i = getAttr( + state, + "findFile", + state.sPath, + v2->attrs, + pos + ); + + PathSet context; + auto path = state.coerceToString(pos, *i->value, context, false, false).toOwned(); + + try { + auto rewrites = state.realiseContext(context); + path = rewriteStrings(path, rewrites); + } catch (InvalidPathError & e) { + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("cannot find '%1%', since path '%2%' is not valid", path, e.path), + .errPos = state.positions[pos] + })); + } + + searchPath.emplace_back(prefix, path); + } + + auto path = state.forceStringNoCtx(*args[1], pos); + + v.mkPath(state.checkSourcePath(state.findFile(searchPath, path, pos))); +} + +static RegisterPrimOp primop_findFile(RegisterPrimOp::Info { + .name = "__findFile", + .arity = 2, + .fun = prim_findFile, +}); + +/* Return the cryptographic hash of a file in base-16. */ +static void prim_hashFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto type = state.forceStringNoCtx(*args[0], pos); + std::optional ht = parseHashType(type); + if (!ht) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("unknown hash type '%1%'", type), + .errPos = state.positions[pos] + })); + + auto path = realisePath(state, pos, *args[1]); + + v.mkString(hashFile(*ht, path).to_string(Base16, false)); +} + +static RegisterPrimOp primop_hashFile({ + .name = "__hashFile", + .args = {"type", "p"}, + .doc = R"( + Return a base-16 representation of the cryptographic hash of the + file at path *p*. The hash algorithm specified by *type* must be one + of `"md5"`, `"sha1"`, `"sha256"` or `"sha512"`. + )", + .fun = prim_hashFile, +}); + +/* Read a directory (without . or ..) */ +static void prim_readDir(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto path = realisePath(state, pos, *args[0]); + + DirEntries entries = readDirectory(path); + + auto attrs = state.buildBindings(entries.size()); + + for (auto & ent : entries) { + if (ent.type == DT_UNKNOWN) + ent.type = getFileType(path + "/" + ent.name); + attrs.alloc(ent.name).mkString( + ent.type == DT_REG ? "regular" : + ent.type == DT_DIR ? "directory" : + ent.type == DT_LNK ? "symlink" : + "unknown"); + } + + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_readDir({ + .name = "__readDir", + .args = {"path"}, + .doc = R"( + Return the contents of the directory *path* as a set mapping + directory entries to the corresponding file type. For instance, if + directory `A` contains a regular file `B` and another directory + `C`, then `builtins.readDir ./A` will return the set + + ```nix + { B = "regular"; C = "directory"; } + ``` + + The possible values for the file type are `"regular"`, + `"directory"`, `"symlink"` and `"unknown"`. + )", + .fun = prim_readDir, +}); + + +/************************************************************* + * Creating files + *************************************************************/ + + +/* Convert the argument (which can be any Nix expression) to an XML + representation returned in a string. Not all Nix expressions can + be sensibly or completely represented (e.g., functions). */ +static void prim_toXML(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + std::ostringstream out; + PathSet context; + printValueAsXML(state, true, false, *args[0], out, context, pos); + v.mkString(out.str(), context); +} + +static RegisterPrimOp primop_toXML({ + .name = "__toXML", + .args = {"e"}, + .doc = R"( + Return a string containing an XML representation of *e*. The main + application for `toXML` is to communicate information with the + builder in a more structured format than plain environment + variables. + + Here is an example where this is the case: + + ```nix + { stdenv, fetchurl, libxslt, jira, uberwiki }: + + stdenv.mkDerivation (rec { + name = "web-server"; + + buildInputs = [ libxslt ]; + + builder = builtins.toFile "builder.sh" " + source $stdenv/setup + mkdir $out + echo "$servlets" | xsltproc ${stylesheet} - > $out/server-conf.xml ① + "; + + stylesheet = builtins.toFile "stylesheet.xsl" ② + " + + + + + + + + + + + + + "; + + servlets = builtins.toXML [ ③ + { path = "/bugtracker"; war = jira + "/lib/atlassian-jira.war"; } + { path = "/wiki"; war = uberwiki + "/uberwiki.war"; } + ]; + }) + ``` + + The builder is supposed to generate the configuration file for a + [Jetty servlet container](http://jetty.mortbay.org/). A servlet + container contains a number of servlets (`*.war` files) each + exported under a specific URI prefix. So the servlet configuration + is a list of sets containing the `path` and `war` of the servlet + (①). This kind of information is difficult to communicate with the + normal method of passing information through an environment + variable, which just concatenates everything together into a + string (which might just work in this case, but wouldn’t work if + fields are optional or contain lists themselves). Instead the Nix + expression is converted to an XML representation with `toXML`, + which is unambiguous and can easily be processed with the + appropriate tools. For instance, in the example an XSLT stylesheet + (at point ②) is applied to it (at point ①) to generate the XML + configuration file for the Jetty server. The XML representation + produced at point ③ by `toXML` is as follows: + + ```xml + + + + + + + + + + + + + + + + + + + + + + ``` + + Note that we used the `toFile` built-in to write the builder and + the stylesheet “inline” in the Nix expression. The path of the + stylesheet is spliced into the builder using the syntax `xsltproc + ${stylesheet}`. + )", + .fun = prim_toXML, +}); + +/* Convert the argument (which can be any Nix expression) to a JSON + string. Not all Nix expressions can be sensibly or completely + represented (e.g., functions). */ +static void prim_toJSON(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + std::ostringstream out; + PathSet context; + printValueAsJSON(state, true, *args[0], pos, out, context); + v.mkString(out.str(), context); +} + +static RegisterPrimOp primop_toJSON({ + .name = "__toJSON", + .args = {"e"}, + .doc = R"( + Return a string containing a JSON representation of *e*. Strings, + integers, floats, booleans, nulls and lists are mapped to their JSON + equivalents. Sets (except derivations) are represented as objects. + Derivations are translated to a JSON string containing the + derivation’s output path. Paths are copied to the store and + represented as a JSON string of the resulting store path. + )", + .fun = prim_toJSON, +}); + +/* Parse a JSON string to a value. */ +static void prim_fromJSON(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto s = state.forceStringNoCtx(*args[0], pos); + try { + parseJSON(state, s, v); + } catch (JSONParseError &e) { + e.addTrace(state.positions[pos], "while decoding a JSON string"); + throw; + } +} + +static RegisterPrimOp primop_fromJSON({ + .name = "__fromJSON", + .args = {"e"}, + .doc = R"( + Convert a JSON string to a Nix value. For example, + + ```nix + builtins.fromJSON ''{"x": [1, 2, 3], "y": null}'' + ``` + + returns the value `{ x = [ 1 2 3 ]; y = null; }`. + )", + .fun = prim_fromJSON, +}); + +/* Store a string in the Nix store as a source file that can be used + as an input by derivations. */ +static void prim_toFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + std::string name(state.forceStringNoCtx(*args[0], pos)); + std::string contents(state.forceString(*args[1], context, pos)); + + StorePathSet refs; + + for (auto path : context) { + if (path.at(0) != '/') + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt( + "in 'toFile': the file named '%1%' must not contain a reference " + "to a derivation but contains (%2%)", + name, path), + .errPos = state.positions[pos] + })); + refs.insert(state.store->parseStorePath(path)); + } + + auto storePath = settings.readOnlyMode + ? state.store->computeStorePathForText(name, contents, refs) + : state.store->addTextToStore(name, contents, refs, state.repair); + + /* Note: we don't need to add `context' to the context of the + result, since `storePath' itself has references to the paths + used in args[1]. */ + + /* Add the output of this to the allowed paths. */ + state.allowAndSetStorePathString(storePath, v); +} + +static RegisterPrimOp primop_toFile({ + .name = "__toFile", + .args = {"name", "s"}, + .doc = R"( + Store the string *s* in a file in the Nix store and return its + path. The file has suffix *name*. This file can be used as an + input to derivations. One application is to write builders + “inline”. For instance, the following Nix expression combines the + [Nix expression for GNU Hello](expression-syntax.md) and its + [build script](build-script.md) into one file: + + ```nix + { stdenv, fetchurl, perl }: + + stdenv.mkDerivation { + name = "hello-2.1.1"; + + builder = builtins.toFile "builder.sh" " + source $stdenv/setup + + PATH=$perl/bin:$PATH + + tar xvfz $src + cd hello-* + ./configure --prefix=$out + make + make install + "; + + src = fetchurl { + url = "http://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz"; + sha256 = "1md7jsfd8pa45z73bz1kszpp01yw6x5ljkjk2hx7wl800any6465"; + }; + inherit perl; + } + ``` + + It is even possible for one file to refer to another, e.g., + + ```nix + builder = let + configFile = builtins.toFile "foo.conf" " + # This is some dummy configuration file. + ... + "; + in builtins.toFile "builder.sh" " + source $stdenv/setup + ... + cp ${configFile} $out/etc/foo.conf + "; + ``` + + Note that `${configFile}` is an + [antiquotation](language-values.md), so the result of the + expression `configFile` + (i.e., a path like `/nix/store/m7p7jfny445k...-foo.conf`) will be + spliced into the resulting string. + + It is however *not* allowed to have files mutually referring to each + other, like so: + + ```nix + let + foo = builtins.toFile "foo" "...${bar}..."; + bar = builtins.toFile "bar" "...${foo}..."; + in foo + ``` + + This is not allowed because it would cause a cyclic dependency in + the computation of the cryptographic hashes for `foo` and `bar`. + + It is also not possible to reference the result of a derivation. If + you are using Nixpkgs, the `writeTextFile` function is able to do + that. + )", + .fun = prim_toFile, +}); + +static void addPath( + EvalState & state, + const PosIdx pos, + const std::string & name, + Path path, + Value * filterFun, + FileIngestionMethod method, + const std::optional expectedHash, + Value & v, + const PathSet & context) +{ + try { + // FIXME: handle CA derivation outputs (where path needs to + // be rewritten to the actual output). + auto rewrites = state.realiseContext(context); + path = state.toRealPath(rewriteStrings(path, rewrites), context); + + StorePathSet refs; + + if (state.store->isInStore(path)) { + try { + auto [storePath, subPath] = state.store->toStorePath(path); + // FIXME: we should scanForReferences on the path before adding it + refs = state.store->queryPathInfo(storePath)->references; + path = state.store->toRealPath(storePath) + subPath; + } catch (Error &) { // FIXME: should be InvalidPathError + } + } + + path = evalSettings.pureEval && expectedHash + ? path + : state.checkSourcePath(path); + + PathFilter filter = filterFun ? ([&](const Path & path) { + auto st = lstat(path); + + /* Call the filter function. The first argument is the path, + the second is a string indicating the type of the file. */ + Value arg1; + arg1.mkString(path); + + Value arg2; + arg2.mkString( + S_ISREG(st.st_mode) ? "regular" : + S_ISDIR(st.st_mode) ? "directory" : + S_ISLNK(st.st_mode) ? "symlink" : + "unknown" /* not supported, will fail! */); + + Value * args []{&arg1, &arg2}; + Value res; + state.callFunction(*filterFun, 2, args, res, pos); + + return state.forceBool(res, pos); + }) : defaultPathFilter; + + std::optional expectedStorePath; + if (expectedHash) + expectedStorePath = state.store->makeFixedOutputPath(method, *expectedHash, name); + + if (!expectedHash || !state.store->isValidPath(*expectedStorePath)) { + StorePath dstPath = settings.readOnlyMode + ? state.store->computeStorePathForPath(name, path, method, htSHA256, filter).first + : state.store->addToStore(name, path, method, htSHA256, filter, state.repair, refs); + if (expectedHash && expectedStorePath != dstPath) + state.debugThrowLastTrace(Error("store path mismatch in (possibly filtered) path added from '%s'", path)); + state.allowAndSetStorePathString(dstPath, v); + } else + state.allowAndSetStorePathString(*expectedStorePath, v); + } catch (Error & e) { + e.addTrace(state.positions[pos], "while adding path '%s'", path); + throw; + } +} + + +static void prim_filterSource(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + Path path = state.coerceToPath(pos, *args[1], context); + + state.forceValue(*args[0], pos); + if (args[0]->type() != nFunction) + state.debugThrowLastTrace(TypeError({ + .msg = hintfmt( + "first argument in call to 'filterSource' is not a function but %1%", + showType(*args[0])), + .errPos = state.positions[pos] + })); + + addPath(state, pos, std::string(baseNameOf(path)), path, args[0], FileIngestionMethod::Recursive, std::nullopt, v, context); +} + +static RegisterPrimOp primop_filterSource({ + .name = "__filterSource", + .args = {"e1", "e2"}, + .doc = R"( + > **Warning** + > + > `filterSource` should not be used to filter store paths. Since + > `filterSource` uses the name of the input directory while naming + > the output directory, doing so will produce a directory name in + > the form of `--`, where `-` is + > the name of the input directory. Since `` depends on the + > unfiltered directory, the name of the output directory will + > indirectly depend on files that are filtered out by the + > function. This will trigger a rebuild even when a filtered out + > file is changed. Use `builtins.path` instead, which allows + > specifying the name of the output directory. + + This function allows you to copy sources into the Nix store while + filtering certain files. For instance, suppose that you want to use + the directory `source-dir` as an input to a Nix expression, e.g. + + ```nix + stdenv.mkDerivation { + ... + src = ./source-dir; + } + ``` + + However, if `source-dir` is a Subversion working copy, then all + those annoying `.svn` subdirectories will also be copied to the + store. Worse, the contents of those directories may change a lot, + causing lots of spurious rebuilds. With `filterSource` you can + filter out the `.svn` directories: + + ```nix + src = builtins.filterSource + (path: type: type != "directory" || baseNameOf path != ".svn") + ./source-dir; + ``` + + Thus, the first argument *e1* must be a predicate function that is + called for each regular file, directory or symlink in the source + tree *e2*. If the function returns `true`, the file is copied to the + Nix store, otherwise it is omitted. The function is called with two + arguments. The first is the full path of the file. The second is a + string that identifies the type of the file, which is either + `"regular"`, `"directory"`, `"symlink"` or `"unknown"` (for other + kinds of files such as device nodes or fifos — but note that those + cannot be copied to the Nix store, so if the predicate returns + `true` for them, the copy will fail). If you exclude a directory, + the entire corresponding subtree of *e2* will be excluded. + )", + .fun = prim_filterSource, +}); + +static void prim_path(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + Path path; + std::string name; + Value * filterFun = nullptr; + auto method = FileIngestionMethod::Recursive; + std::optional expectedHash; + PathSet context; + + for (auto & attr : *args[0]->attrs) { + auto n = state.symbols[attr.name]; + if (n == "path") + path = state.coerceToPath(attr.pos, *attr.value, context); + else if (attr.name == state.sName) + name = state.forceStringNoCtx(*attr.value, attr.pos); + else if (n == "filter") { + state.forceValue(*attr.value, pos); + filterFun = attr.value; + } else if (n == "recursive") + method = FileIngestionMethod { state.forceBool(*attr.value, attr.pos) }; + else if (n == "sha256") + expectedHash = newHashAllowEmpty(state.forceStringNoCtx(*attr.value, attr.pos), htSHA256); + else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("unsupported argument '%1%' to 'addPath'", state.symbols[attr.name]), + .errPos = state.positions[attr.pos] + })); + } + if (path.empty()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("'path' required"), + .errPos = state.positions[pos] + })); + if (name.empty()) + name = baseNameOf(path); + + addPath(state, pos, name, path, filterFun, method, expectedHash, v, context); +} + +static RegisterPrimOp primop_path({ + .name = "__path", + .args = {"args"}, + .doc = R"( + An enrichment of the built-in path type, based on the attributes + present in *args*. All are optional except `path`: + + - path\ + The underlying path. + + - name\ + The name of the path when added to the store. This can used to + reference paths that have nix-illegal characters in their names, + like `@`. + + - filter\ + A function of the type expected by `builtins.filterSource`, + with the same semantics. + + - recursive\ + When `false`, when `path` is added to the store it is with a + flat hash, rather than a hash of the NAR serialization of the + file. Thus, `path` must refer to a regular file, not a + directory. This allows similar behavior to `fetchurl`. Defaults + to `true`. + + - sha256\ + When provided, this is the expected hash of the file at the + path. Evaluation will fail if the hash is incorrect, and + providing a hash allows `builtins.path` to be used even when the + `pure-eval` nix config option is on. + )", + .fun = prim_path, +}); + + +/************************************************************* + * Sets + *************************************************************/ + + +/* Return the names of the attributes in a set as a sorted list of + strings. */ +static void prim_attrNames(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + state.mkList(v, args[0]->attrs->size()-2); + + const auto symbolTable = state.symbols; + size_t n = 0; + std::string staticId = "__id_static"; + std::string dynamicId = "__id_dynamic"; + for (nix::Attr & attr : *args[0]->attrs) { + const auto symbol = attr.name; + const auto name = std::string(symbolTable[symbol]); + if (name == staticId || name == dynamicId) { + continue; + } + (v.listElems()[n++] = state.allocValue())->mkString(state.symbols[attr.name]); + } + + std::sort(v.listElems(), v.listElems() + n, + [](Value * v1, Value * v2) { return strcmp(v1->string.s, v2->string.s) < 0; }); +} + +static RegisterPrimOp primop_attrNames({ + .name = "__attrNames", + .args = {"set"}, + .doc = R"( + Return the names of the attributes in the set *set* in an + alphabetically sorted list. For instance, `builtins.attrNames { y + = 1; x = "foo"; }` evaluates to `[ "x" "y" ]`. + )", + .fun = prim_attrNames, +}); + +/* Return the values of the attributes in a set as a list, in the same + order as attrNames. */ +static void prim_attrValues(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + state.mkList(v, args[0]->attrs->size()-2); + + unsigned int n = 0; + const auto symbolTable = state.symbols; + const std::string staticId = "__id_static"; + const std::string dynamicId = "__id_dynamic"; + for (nix::Attr & attr : *args[0]->attrs) { + const auto symbol = attr.name; + const auto name = std::string(symbolTable[symbol]); + if (name == staticId || name == dynamicId) { + continue; + } + v.listElems()[n++] = (Value *) &attr; + } + std::sort(v.listElems(), v.listElems() + n, + [&](Value * v1, Value * v2) { + std::string_view s1 = state.symbols[((Attr *) v1)->name], + s2 = state.symbols[((Attr *) v2)->name]; + return s1 < s2; + }); + + for (unsigned int i = 0; i < n; ++i) + v.listElems()[i] = ((Attr *) v.listElems()[i])->value; +} + +static RegisterPrimOp primop_attrValues({ + .name = "__attrValues", + .args = {"set"}, + .doc = R"( + Return the values of the attributes in the set *set* in the order + corresponding to the sorted attribute names. + )", + .fun = prim_attrValues, +}); + +/* Dynamic version of the `.' operator. */ +void prim_getAttr(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attr = state.forceStringNoCtx(*args[0], pos); + state.forceAttrs(*args[1], pos); + Bindings::iterator i = getAttr( + state, + "getAttr", + state.symbols.create(attr), + args[1]->attrs, + pos + ); + // !!! add to stack trace? + if (state.countCalls && i->pos) state.attrSelects[i->pos]++; + state.forceValue(*i->value, pos); + v = *i->value; +} + +static RegisterPrimOp primop_getAttr({ + .name = "__getAttr", + .args = {"s", "set"}, + .doc = R"( + `getAttr` returns the attribute named *s* from *set*. Evaluation + aborts if the attribute doesn’t exist. This is a dynamic version of + the `.` operator, since *s* is an expression rather than an + identifier. + )", + .fun = prim_getAttr, +}); + +/* Return position information of the specified attribute. */ +static void prim_unsafeGetAttrPos(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attr = state.forceStringNoCtx(*args[0], pos); + state.forceAttrs(*args[1], pos); + Bindings::iterator i = args[1]->attrs->find(state.symbols.create(attr)); + if (i == args[1]->attrs->end()) + v.mkNull(); + else + state.mkPos(v, i->pos); +} + +static RegisterPrimOp primop_unsafeGetAttrPos(RegisterPrimOp::Info { + .name = "__unsafeGetAttrPos", + .arity = 2, + .fun = prim_unsafeGetAttrPos, +}); + +/* Dynamic version of the `?' operator. */ +static void prim_hasAttr(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attr = state.forceStringNoCtx(*args[0], pos); + state.forceAttrs(*args[1], pos); + v.mkBool(args[1]->attrs->find(state.symbols.create(attr)) != args[1]->attrs->end()); +} + +static RegisterPrimOp primop_hasAttr({ + .name = "__hasAttr", + .args = {"s", "set"}, + .doc = R"( + `hasAttr` returns `true` if *set* has an attribute named *s*, and + `false` otherwise. This is a dynamic version of the `?` operator, + since *s* is an expression rather than an identifier. + )", + .fun = prim_hasAttr, +}); + +/* Determine whether the argument is a set. */ +static void prim_isAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nAttrs); +} + +static RegisterPrimOp primop_isAttrs({ + .name = "__isAttrs", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a set, and `false` otherwise. + )", + .fun = prim_isAttrs, +}); + +static void prim_removeAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + state.forceList(*args[1], pos); + + /* Get the attribute names to be removed. + We keep them as Attrs instead of Symbols so std::set_difference + can be used to remove them from attrs[0]. */ + boost::container::small_vector names; + names.reserve(args[1]->listSize()); + for (auto elem : args[1]->listItems()) { + state.forceStringNoCtx(*elem, pos); + names.emplace_back(state.symbols.create(elem->string.s), nullptr); + } + std::sort(names.begin(), names.end()); + + /* Copy all attributes not in that set. Note that we don't need + to sort v.attrs because it's a subset of an already sorted + vector. */ + auto attrs = state.buildBindings(args[0]->attrs->size()); + std::set_difference( + args[0]->attrs->begin(), args[0]->attrs->end(), + names.begin(), names.end(), + std::back_inserter(attrs)); + v.mkAttrs(attrs.alreadySorted()); +} + +static RegisterPrimOp primop_removeAttrs({ + .name = "removeAttrs", + .args = {"set", "list"}, + .doc = R"( + Remove the attributes listed in *list* from *set*. The attributes + don’t have to exist in *set*. For instance, + + ```nix + removeAttrs { x = 1; y = 2; z = 3; } [ "a" "x" "z" ] + ``` + + evaluates to `{ y = 2; }`. + )", + .fun = prim_removeAttrs, +}); + +/* Builds a set from a list specifying (name, value) pairs. To be + precise, a list [{name = "name1"; value = value1;} ... {name = + "nameN"; value = valueN;}] is transformed to {name1 = value1; + ... nameN = valueN;}. In case of duplicate occurrences of the same + name, the first takes precedence. */ +static void prim_listToAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + + auto attrs = state.buildBindings(args[0]->listSize()); + + std::set seen; + + for (auto v2 : args[0]->listItems()) { + state.forceAttrs(*v2, pos); + + Bindings::iterator j = getAttr( + state, + "listToAttrs", + state.sName, + v2->attrs, + pos + ); + + auto name = state.forceStringNoCtx(*j->value, j->pos); + + auto sym = state.symbols.create(name); + if (seen.insert(sym).second) { + Bindings::iterator j2 = getAttr( + state, + "listToAttrs", + state.sValue, + v2->attrs, + pos + ); + attrs.insert(sym, j2->value, j2->pos); + } + } + + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_listToAttrs({ + .name = "__listToAttrs", + .args = {"e"}, + .doc = R"( + Construct a set from a list specifying the names and values of each + attribute. Each element of the list should be a set consisting of a + string-valued attribute `name` specifying the name of the attribute, + and an attribute `value` specifying its value. Example: + + ```nix + builtins.listToAttrs + [ { name = "foo"; value = 123; } + { name = "bar"; value = 456; } + ] + ``` + + evaluates to + + ```nix + { foo = 123; bar = 456; } + ``` + )", + .fun = prim_listToAttrs, +}); + +static void prim_intersectAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + state.forceAttrs(*args[1], pos); + + auto attrs = state.buildBindings(std::min(args[0]->attrs->size(), args[1]->attrs->size())); + + for (auto & i : *args[0]->attrs) { + Bindings::iterator j = args[1]->attrs->find(i.name); + if (j != args[1]->attrs->end()) + attrs.insert(*j); + } + + v.mkAttrs(attrs.alreadySorted()); +} + +static RegisterPrimOp primop_intersectAttrs({ + .name = "__intersectAttrs", + .args = {"e1", "e2"}, + .doc = R"( + Return a set consisting of the attributes in the set *e2* that also + exist in the set *e1*. + )", + .fun = prim_intersectAttrs, +}); + +static void prim_catAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attrName = state.symbols.create(state.forceStringNoCtx(*args[0], pos)); + state.forceList(*args[1], pos); + + Value * res[args[1]->listSize()]; + unsigned int found = 0; + + for (auto v2 : args[1]->listItems()) { + state.forceAttrs(*v2, pos); + Bindings::iterator i = v2->attrs->find(attrName); + if (i != v2->attrs->end()) + res[found++] = i->value; + } + + state.mkList(v, found); + for (unsigned int n = 0; n < found; ++n) + v.listElems()[n] = res[n]; +} + +static RegisterPrimOp primop_catAttrs({ + .name = "__catAttrs", + .args = {"attr", "list"}, + .doc = R"( + Collect each attribute named *attr* from a list of attribute + sets. Attrsets that don't contain the named attribute are + ignored. For example, + + ```nix + builtins.catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}] + ``` + + evaluates to `[1 2]`. + )", + .fun = prim_catAttrs, +}); + +static void prim_functionArgs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + if (args[0]->isPrimOpApp() || args[0]->isPrimOp()) { + v.mkAttrs(&state.emptyBindings); + return; + } + if (!args[0]->isLambda()) + state.debugThrowLastTrace(TypeError({ + .msg = hintfmt("'functionArgs' requires a function"), + .errPos = state.positions[pos] + })); + + if (!args[0]->lambda.fun->hasFormals()) { + v.mkAttrs(&state.emptyBindings); + return; + } + + auto attrs = state.buildBindings(args[0]->lambda.fun->formals->formals.size()); + for (auto & i : args[0]->lambda.fun->formals->formals) + // !!! should optimise booleans (allocate only once) + attrs.alloc(i.name, i.pos).mkBool(i.def); + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_functionArgs({ + .name = "__functionArgs", + .args = {"f"}, + .doc = R"( + Return a set containing the names of the formal arguments expected + by the function *f*. The value of each attribute is a Boolean + denoting whether the corresponding argument has a default value. For + instance, `functionArgs ({ x, y ? 123}: ...) = { x = false; y = + true; }`. + + "Formal argument" here refers to the attributes pattern-matched by + the function. Plain lambdas are not included, e.g. `functionArgs (x: + ...) = { }`. + )", + .fun = prim_functionArgs, +}); + +/* */ +static void prim_mapAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[1], pos); + + auto attrs = state.buildBindings(args[1]->attrs->size()); + + for (auto & i : *args[1]->attrs) { + Value * vName = state.allocValue(); + Value * vFun2 = state.allocValue(); + vName->mkString(state.symbols[i.name]); + vFun2->mkApp(args[0], vName); + attrs.alloc(i.name).mkApp(vFun2, i.value); + } + + v.mkAttrs(attrs.alreadySorted()); +} + +static RegisterPrimOp primop_mapAttrs({ + .name = "__mapAttrs", + .args = {"f", "attrset"}, + .doc = R"( + Apply function *f* to every element of *attrset*. For example, + + ```nix + builtins.mapAttrs (name: value: value * 10) { a = 1; b = 2; } + ``` + + evaluates to `{ a = 10; b = 20; }`. + )", + .fun = prim_mapAttrs, +}); + +static void prim_zipAttrsWith(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + // we will first count how many values are present for each given key. + // we then allocate a single attrset and pre-populate it with lists of + // appropriate sizes, stash the pointers to the list elements of each, + // and populate the lists. after that we replace the list in the every + // attribute with the merge function application. this way we need not + // use (slightly slower) temporary storage the GC does not know about. + + std::map> attrsSeen; + + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + const auto listSize = args[1]->listSize(); + const auto listElems = args[1]->listElems(); + + for (unsigned int n = 0; n < listSize; ++n) { + Value * vElem = listElems[n]; + try { + state.forceAttrs(*vElem, noPos); + for (auto & attr : *vElem->attrs) + attrsSeen[attr.name].first++; + } catch (TypeError & e) { + e.addTrace(state.positions[pos], hintfmt("while invoking '%s'", "zipAttrsWith")); + state.debugThrowLastTrace(e); + } + } + + auto attrs = state.buildBindings(attrsSeen.size()); + for (auto & [sym, elem] : attrsSeen) { + auto & list = attrs.alloc(sym); + state.mkList(list, elem.first); + elem.second = list.listElems(); + } + v.mkAttrs(attrs.alreadySorted()); + + for (unsigned int n = 0; n < listSize; ++n) { + Value * vElem = listElems[n]; + for (auto & attr : *vElem->attrs) + *attrsSeen[attr.name].second++ = attr.value; + } + + for (auto & attr : *v.attrs) { + auto name = state.allocValue(); + name->mkString(state.symbols[attr.name]); + auto call1 = state.allocValue(); + call1->mkApp(args[0], name); + auto call2 = state.allocValue(); + call2->mkApp(call1, attr.value); + attr.value = call2; + } +} + +static RegisterPrimOp primop_zipAttrsWith({ + .name = "__zipAttrsWith", + .args = {"f", "list"}, + .doc = R"( + Transpose a list of attribute sets into an attribute set of lists, + then apply `mapAttrs`. + + `f` receives two arguments: the attribute name and a non-empty + list of all values encountered for that attribute name. + + The result is an attribute set where the attribute names are the + union of the attribute names in each element of `list`. The attribute + values are the return values of `f`. + + ```nix + builtins.zipAttrsWith + (name: values: { inherit name values; }) + [ { a = "x"; } { a = "y"; b = "z"; } ] + ``` + + evaluates to + + ``` + { + a = { name = "a"; values = [ "x" "y" ]; }; + b = { name = "b"; values = [ "z" ]; }; + } + ``` + )", + .fun = prim_zipAttrsWith, +}); + + +/************************************************************* + * Lists + *************************************************************/ + + +/* Determine whether the argument is a list. */ +static void prim_isList(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nList); +} + +static RegisterPrimOp primop_isList({ + .name = "__isList", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a list, and `false` otherwise. + )", + .fun = prim_isList, +}); + +static void elemAt(EvalState & state, const PosIdx pos, Value & list, int n, Value & v) +{ + state.forceList(list, pos); + if (n < 0 || (unsigned int) n >= list.listSize()) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("list index %1% is out of bounds", n), + .errPos = state.positions[pos] + })); + state.forceValue(*list.listElems()[n], pos); + v = *list.listElems()[n]; +} + +/* Return the n-1'th element of a list. */ +static void prim_elemAt(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + elemAt(state, pos, *args[0], state.forceInt(*args[1], pos), v); +} + +static RegisterPrimOp primop_elemAt({ + .name = "__elemAt", + .args = {"xs", "n"}, + .doc = R"( + Return element *n* from the list *xs*. Elements are counted starting + from 0. A fatal error occurs if the index is out of bounds. + )", + .fun = prim_elemAt, +}); + +/* Return the first element of a list. */ +static void prim_head(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + elemAt(state, pos, *args[0], 0, v); +} + +static RegisterPrimOp primop_head({ + .name = "__head", + .args = {"list"}, + .doc = R"( + Return the first element of a list; abort evaluation if the argument + isn’t a list or is an empty list. You can test whether a list is + empty by comparing it with `[]`. + )", + .fun = prim_head, +}); + +/* Return a list consisting of everything but the first element of + a list. Warning: this function takes O(n) time, so you probably + don't want to use it! */ +static void prim_tail(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + if (args[0]->listSize() == 0) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("'tail' called on an empty list"), + .errPos = state.positions[pos] + })); + + state.mkList(v, args[0]->listSize() - 1); + for (unsigned int n = 0; n < v.listSize(); ++n) + v.listElems()[n] = args[0]->listElems()[n + 1]; +} + +static RegisterPrimOp primop_tail({ + .name = "__tail", + .args = {"list"}, + .doc = R"( + Return the second to last elements of a list; abort evaluation if + the argument isn’t a list or is an empty list. + + > **Warning** + > + > This function should generally be avoided since it's inefficient: + > unlike Haskell's `tail`, it takes O(n) time, so recursing over a + > list by repeatedly calling `tail` takes O(n^2) time. + )", + .fun = prim_tail, +}); + +/* Apply a function to every element of a list. */ +static void prim_map(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[1], pos); + + state.mkList(v, args[1]->listSize()); + + for (unsigned int n = 0; n < v.listSize(); ++n) + (v.listElems()[n] = state.allocValue())->mkApp( + args[0], args[1]->listElems()[n]); +} + +static RegisterPrimOp primop_map({ + .name = "map", + .args = {"f", "list"}, + .doc = R"( + Apply the function *f* to each element in the list *list*. For + example, + + ```nix + map (x: "foo" + x) [ "bar" "bla" "abc" ] + ``` + + evaluates to `[ "foobar" "foobla" "fooabc" ]`. + )", + .fun = prim_map, +}); + +/* Filter a list using a predicate; that is, return a list containing + every element from the list for which the predicate function + returns true. */ +static void prim_filter(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + // FIXME: putting this on the stack is risky. + Value * vs[args[1]->listSize()]; + unsigned int k = 0; + + bool same = true; + for (unsigned int n = 0; n < args[1]->listSize(); ++n) { + Value res; + state.callFunction(*args[0], *args[1]->listElems()[n], res, noPos); + if (state.forceBool(res, pos)) + vs[k++] = args[1]->listElems()[n]; + else + same = false; + } + + if (same) + v = *args[1]; + else { + state.mkList(v, k); + for (unsigned int n = 0; n < k; ++n) v.listElems()[n] = vs[n]; + } +} + +static RegisterPrimOp primop_filter({ + .name = "__filter", + .args = {"f", "list"}, + .doc = R"( + Return a list consisting of the elements of *list* for which the + function *f* returns `true`. + )", + .fun = prim_filter, +}); + +/* Return true if a list contains a given element. */ +static void prim_elem(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + bool res = false; + state.forceList(*args[1], pos); + for (auto elem : args[1]->listItems()) + if (state.eqValues(*args[0], *elem)) { + res = true; + break; + } + v.mkBool(res); +} + +static RegisterPrimOp primop_elem({ + .name = "__elem", + .args = {"x", "xs"}, + .doc = R"( + Return `true` if a value equal to *x* occurs in the list *xs*, and + `false` otherwise. + )", + .fun = prim_elem, +}); + +/* Concatenate a list of lists. */ +static void prim_concatLists(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + state.concatLists(v, args[0]->listSize(), args[0]->listElems(), pos); +} + +static RegisterPrimOp primop_concatLists({ + .name = "__concatLists", + .args = {"lists"}, + .doc = R"( + Concatenate a list of lists into a single list. + )", + .fun = prim_concatLists, +}); + +/* Return the length of a list. This is an O(1) time operation. */ +static void prim_length(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + v.mkInt(args[0]->listSize()); +} + +static RegisterPrimOp primop_length({ + .name = "__length", + .args = {"e"}, + .doc = R"( + Return the length of the list *e*. + )", + .fun = prim_length, +}); + +/* Reduce a list by applying a binary operator, from left to + right. The operator is applied strictly. */ +static void prim_foldlStrict(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[2], pos); + + if (args[2]->listSize()) { + Value * vCur = args[1]; + + for (auto [n, elem] : enumerate(args[2]->listItems())) { + Value * vs []{vCur, elem}; + vCur = n == args[2]->listSize() - 1 ? &v : state.allocValue(); + state.callFunction(*args[0], 2, vs, *vCur, pos); + } + state.forceValue(v, pos); + } else { + state.forceValue(*args[1], pos); + v = *args[1]; + } +} + +static RegisterPrimOp primop_foldlStrict({ + .name = "__foldl'", + .args = {"op", "nul", "list"}, + .doc = R"( + Reduce a list by applying a binary operator, from left to right, + e.g. `foldl' op nul [x0 x1 x2 ...] = op (op (op nul x0) x1) x2) + ...`. The operator is applied strictly, i.e., its arguments are + evaluated first. For example, `foldl' (x: y: x + y) 0 [1 2 3]` + evaluates to 6. + )", + .fun = prim_foldlStrict, +}); + +static void anyOrAll(bool any, EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + Value vTmp; + for (auto elem : args[1]->listItems()) { + state.callFunction(*args[0], *elem, vTmp, pos); + bool res = state.forceBool(vTmp, pos); + if (res == any) { + v.mkBool(any); + return; + } + } + + v.mkBool(!any); +} + + +static void prim_any(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + anyOrAll(true, state, pos, args, v); +} + +static RegisterPrimOp primop_any({ + .name = "__any", + .args = {"pred", "list"}, + .doc = R"( + Return `true` if the function *pred* returns `true` for at least one + element of *list*, and `false` otherwise. + )", + .fun = prim_any, +}); + +static void prim_all(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + anyOrAll(false, state, pos, args, v); +} + +static RegisterPrimOp primop_all({ + .name = "__all", + .args = {"pred", "list"}, + .doc = R"( + Return `true` if the function *pred* returns `true` for all elements + of *list*, and `false` otherwise. + )", + .fun = prim_all, +}); + +static void prim_genList(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto len = state.forceInt(*args[1], pos); + + if (len < 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("cannot create list of size %1%", len), + .errPos = state.positions[pos] + })); + + state.mkList(v, len); + + for (unsigned int n = 0; n < (unsigned int) len; ++n) { + auto arg = state.allocValue(); + arg->mkInt(n); + (v.listElems()[n] = state.allocValue())->mkApp(args[0], arg); + } +} + +static RegisterPrimOp primop_genList({ + .name = "__genList", + .args = {"generator", "length"}, + .doc = R"( + Generate list of size *length*, with each element *i* equal to the + value returned by *generator* `i`. For example, + + ```nix + builtins.genList (x: x * x) 5 + ``` + + returns the list `[ 0 1 4 9 16 ]`. + )", + .fun = prim_genList, +}); + +static void prim_lessThan(EvalState & state, const PosIdx pos, Value * * args, Value & v); + + +static void prim_sort(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + auto len = args[1]->listSize(); + state.mkList(v, len); + for (unsigned int n = 0; n < len; ++n) { + state.forceValue(*args[1]->listElems()[n], pos); + v.listElems()[n] = args[1]->listElems()[n]; + } + + auto comparator = [&](Value * a, Value * b) { + /* Optimization: if the comparator is lessThan, bypass + callFunction. */ + if (args[0]->isPrimOp() && args[0]->primOp->fun == prim_lessThan) + return CompareValues(state)(a, b); + + Value * vs[] = {a, b}; + Value vBool; + state.callFunction(*args[0], 2, vs, vBool, pos); + return state.forceBool(vBool, pos); + }; + + /* FIXME: std::sort can segfault if the comparator is not a strict + weak ordering. What to do? std::stable_sort() seems more + resilient, but no guarantees... */ + std::stable_sort(v.listElems(), v.listElems() + len, comparator); +} + +static RegisterPrimOp primop_sort({ + .name = "__sort", + .args = {"comparator", "list"}, + .doc = R"( + Return *list* in sorted order. It repeatedly calls the function + *comparator* with two elements. The comparator should return `true` + if the first element is less than the second, and `false` otherwise. + For example, + + ```nix + builtins.sort builtins.lessThan [ 483 249 526 147 42 77 ] + ``` + + produces the list `[ 42 77 147 249 483 526 ]`. + + This is a stable sort: it preserves the relative order of elements + deemed equal by the comparator. + )", + .fun = prim_sort, +}); + +static void prim_partition(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + auto len = args[1]->listSize(); + + ValueVector right, wrong; + + for (unsigned int n = 0; n < len; ++n) { + auto vElem = args[1]->listElems()[n]; + state.forceValue(*vElem, pos); + Value res; + state.callFunction(*args[0], *vElem, res, pos); + if (state.forceBool(res, pos)) + right.push_back(vElem); + else + wrong.push_back(vElem); + } + + auto attrs = state.buildBindings(2); + + auto & vRight = attrs.alloc(state.sRight); + auto rsize = right.size(); + state.mkList(vRight, rsize); + if (rsize) + memcpy(vRight.listElems(), right.data(), sizeof(Value *) * rsize); + + auto & vWrong = attrs.alloc(state.sWrong); + auto wsize = wrong.size(); + state.mkList(vWrong, wsize); + if (wsize) + memcpy(vWrong.listElems(), wrong.data(), sizeof(Value *) * wsize); + + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_partition({ + .name = "__partition", + .args = {"pred", "list"}, + .doc = R"( + Given a predicate function *pred*, this function returns an + attrset containing a list named `right`, containing the elements + in *list* for which *pred* returned `true`, and a list named + `wrong`, containing the elements for which it returned + `false`. For example, + + ```nix + builtins.partition (x: x > 10) [1 23 9 3 42] + ``` + + evaluates to + + ```nix + { right = [ 23 42 ]; wrong = [ 1 9 3 ]; } + ``` + )", + .fun = prim_partition, +}); + +static void prim_groupBy(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + ValueVectorMap attrs; + + for (auto vElem : args[1]->listItems()) { + Value res; + state.callFunction(*args[0], *vElem, res, pos); + auto name = state.forceStringNoCtx(res, pos); + auto sym = state.symbols.create(name); + auto vector = attrs.try_emplace(sym, ValueVector()).first; + vector->second.push_back(vElem); + } + + auto attrs2 = state.buildBindings(attrs.size()); + + for (auto & i : attrs) { + auto & list = attrs2.alloc(i.first); + auto size = i.second.size(); + state.mkList(list, size); + memcpy(list.listElems(), i.second.data(), sizeof(Value *) * size); + } + + v.mkAttrs(attrs2.alreadySorted()); +} + +static RegisterPrimOp primop_groupBy({ + .name = "__groupBy", + .args = {"f", "list"}, + .doc = R"( + Groups elements of *list* together by the string returned from the + function *f* called on each element. It returns an attribute set + where each attribute value contains the elements of *list* that are + mapped to the same corresponding attribute name returned by *f*. + + For example, + + ```nix + builtins.groupBy (builtins.substring 0 1) ["foo" "bar" "baz"] + ``` + + evaluates to + + ```nix + { b = [ "bar" "baz" ]; f = [ "foo" ]; } + ``` + )", + .fun = prim_groupBy, +}); + +static void prim_concatMap(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + auto nrLists = args[1]->listSize(); + + Value lists[nrLists]; + size_t len = 0; + + for (unsigned int n = 0; n < nrLists; ++n) { + Value * vElem = args[1]->listElems()[n]; + state.callFunction(*args[0], *vElem, lists[n], pos); + try { + state.forceList(lists[n], lists[n].determinePos(args[0]->determinePos(pos))); + } catch (TypeError &e) { + e.addTrace(state.positions[pos], hintfmt("while invoking '%s'", "concatMap")); + state.debugThrowLastTrace(e); + } + len += lists[n].listSize(); + } + + state.mkList(v, len); + auto out = v.listElems(); + for (unsigned int n = 0, pos = 0; n < nrLists; ++n) { + auto l = lists[n].listSize(); + if (l) + memcpy(out + pos, lists[n].listElems(), l * sizeof(Value *)); + pos += l; + } +} + +static RegisterPrimOp primop_concatMap({ + .name = "__concatMap", + .args = {"f", "list"}, + .doc = R"( + This function is equivalent to `builtins.concatLists (map f list)` + but is more efficient. + )", + .fun = prim_concatMap, +}); + + +/************************************************************* + * Integer arithmetic + *************************************************************/ + + +static void prim_add(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + if (args[0]->type() == nFloat || args[1]->type() == nFloat) + v.mkFloat(state.forceFloat(*args[0], pos) + state.forceFloat(*args[1], pos)); + else + v.mkInt(state.forceInt(*args[0], pos) + state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_add({ + .name = "__add", + .args = {"e1", "e2"}, + .doc = R"( + Return the sum of the numbers *e1* and *e2*. + )", + .fun = prim_add, +}); + +static void prim_sub(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + if (args[0]->type() == nFloat || args[1]->type() == nFloat) + v.mkFloat(state.forceFloat(*args[0], pos) - state.forceFloat(*args[1], pos)); + else + v.mkInt(state.forceInt(*args[0], pos) - state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_sub({ + .name = "__sub", + .args = {"e1", "e2"}, + .doc = R"( + Return the difference between the numbers *e1* and *e2*. + )", + .fun = prim_sub, +}); + +static void prim_mul(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + if (args[0]->type() == nFloat || args[1]->type() == nFloat) + v.mkFloat(state.forceFloat(*args[0], pos) * state.forceFloat(*args[1], pos)); + else + v.mkInt(state.forceInt(*args[0], pos) * state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_mul({ + .name = "__mul", + .args = {"e1", "e2"}, + .doc = R"( + Return the product of the numbers *e1* and *e2*. + )", + .fun = prim_mul, +}); + +static void prim_div(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + + NixFloat f2 = state.forceFloat(*args[1], pos); + if (f2 == 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("division by zero"), + .errPos = state.positions[pos] + })); + + if (args[0]->type() == nFloat || args[1]->type() == nFloat) { + v.mkFloat(state.forceFloat(*args[0], pos) / state.forceFloat(*args[1], pos)); + } else { + NixInt i1 = state.forceInt(*args[0], pos); + NixInt i2 = state.forceInt(*args[1], pos); + /* Avoid division overflow as it might raise SIGFPE. */ + if (i1 == std::numeric_limits::min() && i2 == -1) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("overflow in integer division"), + .errPos = state.positions[pos] + })); + + v.mkInt(i1 / i2); + } +} + +static RegisterPrimOp primop_div({ + .name = "__div", + .args = {"e1", "e2"}, + .doc = R"( + Return the quotient of the numbers *e1* and *e2*. + )", + .fun = prim_div, +}); + +static void prim_bitAnd(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkInt(state.forceInt(*args[0], pos) & state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_bitAnd({ + .name = "__bitAnd", + .args = {"e1", "e2"}, + .doc = R"( + Return the bitwise AND of the integers *e1* and *e2*. + )", + .fun = prim_bitAnd, +}); + +static void prim_bitOr(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkInt(state.forceInt(*args[0], pos) | state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_bitOr({ + .name = "__bitOr", + .args = {"e1", "e2"}, + .doc = R"( + Return the bitwise OR of the integers *e1* and *e2*. + )", + .fun = prim_bitOr, +}); + +static void prim_bitXor(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkInt(state.forceInt(*args[0], pos) ^ state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_bitXor({ + .name = "__bitXor", + .args = {"e1", "e2"}, + .doc = R"( + Return the bitwise XOR of the integers *e1* and *e2*. + )", + .fun = prim_bitXor, +}); + +static void prim_lessThan(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + CompareValues comp{state}; + v.mkBool(comp(args[0], args[1])); +} + +static RegisterPrimOp primop_lessThan({ + .name = "__lessThan", + .args = {"e1", "e2"}, + .doc = R"( + Return `true` if the number *e1* is less than the number *e2*, and + `false` otherwise. Evaluation aborts if either *e1* or *e2* does not + evaluate to a number. + )", + .fun = prim_lessThan, +}); + + +/************************************************************* + * String manipulation + *************************************************************/ + + +/* Convert the argument to a string. Paths are *not* copied to the + store, so `toString /foo/bar' yields `"/foo/bar"', not + `"/nix/store/whatever..."'. */ +static void prim_toString(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + auto s = state.coerceToString(pos, *args[0], context, true, false); + v.mkString(*s, context); +} + +static RegisterPrimOp primop_toString({ + .name = "toString", + .args = {"e"}, + .doc = R"( + Convert the expression *e* to a string. *e* can be: + + - A string (in which case the string is returned unmodified). + + - A path (e.g., `toString /foo/bar` yields `"/foo/bar"`. + + - A set containing `{ __toString = self: ...; }` or `{ outPath = ...; }`. + + - An integer. + + - A list, in which case the string representations of its elements + are joined with spaces. + + - A Boolean (`false` yields `""`, `true` yields `"1"`). + + - `null`, which yields the empty string. + )", + .fun = prim_toString, +}); + +/* `substring start len str' returns the substring of `str' starting + at character position `min(start, stringLength str)' inclusive and + ending at `min(start + len, stringLength str)'. `start' must be + non-negative. */ +static void prim_substring(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + int start = state.forceInt(*args[0], pos); + int len = state.forceInt(*args[1], pos); + PathSet context; + auto s = state.coerceToString(pos, *args[2], context); + + if (start < 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("negative start position in 'substring'"), + .errPos = state.positions[pos] + })); + + v.mkString((unsigned int) start >= s->size() ? "" : s->substr(start, len), context); +} + +static RegisterPrimOp primop_substring({ + .name = "__substring", + .args = {"start", "len", "s"}, + .doc = R"( + Return the substring of *s* from character position *start* + (zero-based) up to but not including *start + len*. If *start* is + greater than the length of the string, an empty string is returned, + and if *start + len* lies beyond the end of the string, only the + substring up to the end of the string is returned. *start* must be + non-negative. For example, + + ```nix + builtins.substring 0 3 "nixos" + ``` + + evaluates to `"nix"`. + )", + .fun = prim_substring, +}); + +static void prim_stringLength(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + auto s = state.coerceToString(pos, *args[0], context); + v.mkInt(s->size()); +} + +static RegisterPrimOp primop_stringLength({ + .name = "__stringLength", + .args = {"e"}, + .doc = R"( + Return the length of the string *e*. If *e* is not a string, + evaluation is aborted. + )", + .fun = prim_stringLength, +}); + +/* Return the cryptographic hash of a string in base-16. */ +static void prim_hashString(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto type = state.forceStringNoCtx(*args[0], pos); + std::optional ht = parseHashType(type); + if (!ht) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("unknown hash type '%1%'", type), + .errPos = state.positions[pos] + })); + + PathSet context; // discarded + auto s = state.forceString(*args[1], context, pos); + + v.mkString(hashString(*ht, s).to_string(Base16, false)); +} + +static RegisterPrimOp primop_hashString({ + .name = "__hashString", + .args = {"type", "s"}, + .doc = R"( + Return a base-16 representation of the cryptographic hash of string + *s*. The hash algorithm specified by *type* must be one of `"md5"`, + `"sha1"`, `"sha256"` or `"sha512"`. + )", + .fun = prim_hashString, +}); + +struct RegexCache +{ + // TODO use C++20 transparent comparison when available + std::unordered_map cache; + std::list keys; + + std::regex get(std::string_view re) + { + auto it = cache.find(re); + if (it != cache.end()) + return it->second; + keys.emplace_back(re); + return cache.emplace(keys.back(), std::regex(keys.back(), std::regex::extended)).first->second; + } +}; + +std::shared_ptr makeRegexCache() +{ + return std::make_shared(); +} + +void prim_match(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto re = state.forceStringNoCtx(*args[0], pos); + + try { + + auto regex = state.regexCache->get(re); + + PathSet context; + const auto str = state.forceString(*args[1], context, pos); + + std::cmatch match; + if (!std::regex_match(str.begin(), str.end(), match, regex)) { + v.mkNull(); + return; + } + + // the first match is the whole string + const size_t len = match.size() - 1; + state.mkList(v, len); + for (size_t i = 0; i < len; ++i) { + if (!match[i+1].matched) + (v.listElems()[i] = state.allocValue())->mkNull(); + else + (v.listElems()[i] = state.allocValue())->mkString(match[i + 1].str()); + } + + } catch (std::regex_error & e) { + if (e.code() == std::regex_constants::error_space) { + // limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++ + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("memory limit exceeded by regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } +} + +static RegisterPrimOp primop_match({ + .name = "__match", + .args = {"regex", "str"}, + .doc = R"s( + Returns a list if the [extended POSIX regular + expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04) + *regex* matches *str* precisely, otherwise returns `null`. Each item + in the list is a regex group. + + ```nix + builtins.match "ab" "abc" + ``` + + Evaluates to `null`. + + ```nix + builtins.match "abc" "abc" + ``` + + Evaluates to `[ ]`. + + ```nix + builtins.match "a(b)(c)" "abc" + ``` + + Evaluates to `[ "b" "c" ]`. + + ```nix + builtins.match "[[:space:]]+([[:upper:]]+)[[:space:]]+" " FOO " + ``` + + Evaluates to `[ "FOO" ]`. + )s", + .fun = prim_match, +}); + +/* Split a string with a regular expression, and return a list of the + non-matching parts interleaved by the lists of the matching groups. */ +void prim_split(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto re = state.forceStringNoCtx(*args[0], pos); + + try { + + auto regex = state.regexCache->get(re); + + PathSet context; + const auto str = state.forceString(*args[1], context, pos); + + auto begin = std::cregex_iterator(str.begin(), str.end(), regex); + auto end = std::cregex_iterator(); + + // Any matches results are surrounded by non-matching results. + const size_t len = std::distance(begin, end); + state.mkList(v, 2 * len + 1); + size_t idx = 0; + + if (len == 0) { + v.listElems()[idx++] = args[1]; + return; + } + + for (auto i = begin; i != end; ++i) { + assert(idx <= 2 * len + 1 - 3); + auto match = *i; + + // Add a string for non-matched characters. + (v.listElems()[idx++] = state.allocValue())->mkString(match.prefix().str()); + + // Add a list for matched substrings. + const size_t slen = match.size() - 1; + auto elem = v.listElems()[idx++] = state.allocValue(); + + // Start at 1, beacause the first match is the whole string. + state.mkList(*elem, slen); + for (size_t si = 0; si < slen; ++si) { + if (!match[si + 1].matched) + (elem->listElems()[si] = state.allocValue())->mkNull(); + else + (elem->listElems()[si] = state.allocValue())->mkString(match[si + 1].str()); + } + + // Add a string for non-matched suffix characters. + if (idx == 2 * len) + (v.listElems()[idx++] = state.allocValue())->mkString(match.suffix().str()); + } + + assert(idx == 2 * len + 1); + + } catch (std::regex_error & e) { + if (e.code() == std::regex_constants::error_space) { + // limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++ + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("memory limit exceeded by regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } +} + +static RegisterPrimOp primop_split({ + .name = "__split", + .args = {"regex", "str"}, + .doc = R"s( + Returns a list composed of non matched strings interleaved with the + lists of the [extended POSIX regular + expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04) + *regex* matches of *str*. Each item in the lists of matched + sequences is a regex group. + + ```nix + builtins.split "(a)b" "abc" + ``` + + Evaluates to `[ "" [ "a" ] "c" ]`. + + ```nix + builtins.split "([ac])" "abc" + ``` + + Evaluates to `[ "" [ "a" ] "b" [ "c" ] "" ]`. + + ```nix + builtins.split "(a)|(c)" "abc" + ``` + + Evaluates to `[ "" [ "a" null ] "b" [ null "c" ] "" ]`. + + ```nix + builtins.split "([[:upper:]]+)" " FOO " + ``` + + Evaluates to `[ " " [ "FOO" ] " " ]`. + )s", + .fun = prim_split, +}); + +static void prim_concatStringsSep(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + + auto sep = state.forceString(*args[0], context, pos); + state.forceList(*args[1], pos); + + std::string res; + res.reserve((args[1]->listSize() + 32) * sep.size()); + bool first = true; + + for (auto elem : args[1]->listItems()) { + if (first) first = false; else res += sep; + res += *state.coerceToString(pos, *elem, context); + } + + v.mkString(res, context); +} + +static RegisterPrimOp primop_concatStringsSep({ + .name = "__concatStringsSep", + .args = {"separator", "list"}, + .doc = R"( + Concatenate a list of strings with a separator between each + element, e.g. `concatStringsSep "/" ["usr" "local" "bin"] == + "usr/local/bin"`. + )", + .fun = prim_concatStringsSep, +}); + +static void prim_replaceStrings(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + state.forceList(*args[1], pos); + if (args[0]->listSize() != args[1]->listSize()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("'from' and 'to' arguments to 'replaceStrings' have different lengths"), + .errPos = state.positions[pos] + })); + + std::vector from; + from.reserve(args[0]->listSize()); + for (auto elem : args[0]->listItems()) + from.emplace_back(state.forceString(*elem, pos)); + + std::vector> to; + to.reserve(args[1]->listSize()); + for (auto elem : args[1]->listItems()) { + PathSet ctx; + auto s = state.forceString(*elem, ctx, pos); + to.emplace_back(s, std::move(ctx)); + } + + PathSet context; + auto s = state.forceString(*args[2], context, pos); + + std::string res; + // Loops one past last character to handle the case where 'from' contains an empty string. + for (size_t p = 0; p <= s.size(); ) { + bool found = false; + auto i = from.begin(); + auto j = to.begin(); + for (; i != from.end(); ++i, ++j) + if (s.compare(p, i->size(), *i) == 0) { + found = true; + res += j->first; + if (i->empty()) { + if (p < s.size()) + res += s[p]; + p++; + } else { + p += i->size(); + } + for (auto& path : j->second) + context.insert(path); + j->second.clear(); + break; + } + if (!found) { + if (p < s.size()) + res += s[p]; + p++; + } + } + + v.mkString(res, context); +} + +static RegisterPrimOp primop_replaceStrings({ + .name = "__replaceStrings", + .args = {"from", "to", "s"}, + .doc = R"( + Given string *s*, replace every occurrence of the strings in *from* + with the corresponding string in *to*. For example, + + ```nix + builtins.replaceStrings ["oo" "a"] ["a" "i"] "foobar" + ``` + + evaluates to `"fabir"`. + )", + .fun = prim_replaceStrings, +}); + + +/************************************************************* + * Versions + *************************************************************/ + + +static void prim_parseDrvName(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto name = state.forceStringNoCtx(*args[0], pos); + DrvName parsed(name); + auto attrs = state.buildBindings(2); + attrs.alloc(state.sName).mkString(parsed.name); + attrs.alloc("version").mkString(parsed.version); + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_parseDrvName({ + .name = "__parseDrvName", + .args = {"s"}, + .doc = R"( + Split the string *s* into a package name and version. The package + name is everything up to but not including the first dash followed + by a digit, and the version is everything following that dash. The + result is returned in a set `{ name, version }`. Thus, + `builtins.parseDrvName "nix-0.12pre12876"` returns `{ name = + "nix"; version = "0.12pre12876"; }`. + )", + .fun = prim_parseDrvName, +}); + +static void prim_compareVersions(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto version1 = state.forceStringNoCtx(*args[0], pos); + auto version2 = state.forceStringNoCtx(*args[1], pos); + v.mkInt(compareVersions(version1, version2)); +} + +static RegisterPrimOp primop_compareVersions({ + .name = "__compareVersions", + .args = {"s1", "s2"}, + .doc = R"( + Compare two strings representing versions and return `-1` if + version *s1* is older than version *s2*, `0` if they are the same, + and `1` if *s1* is newer than *s2*. The version comparison + algorithm is the same as the one used by [`nix-env + -u`](../command-ref/nix-env.md#operation---upgrade). + )", + .fun = prim_compareVersions, +}); + +static void prim_splitVersion(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto version = state.forceStringNoCtx(*args[0], pos); + auto iter = version.cbegin(); + Strings components; + while (iter != version.cend()) { + auto component = nextComponent(iter, version.cend()); + if (component.empty()) + break; + components.emplace_back(component); + } + state.mkList(v, components.size()); + for (const auto & [n, component] : enumerate(components)) + (v.listElems()[n] = state.allocValue())->mkString(std::move(component)); +} + +static RegisterPrimOp primop_splitVersion({ + .name = "__splitVersion", + .args = {"s"}, + .doc = R"( + Split a string representing a version into its components, by the + same version splitting logic underlying the version comparison in + [`nix-env -u`](../command-ref/nix-env.md#operation---upgrade). + )", + .fun = prim_splitVersion, +}); + + +/************************************************************* + * Primop registration + *************************************************************/ + + +RegisterPrimOp::PrimOps * RegisterPrimOp::primOps; + + +RegisterPrimOp::RegisterPrimOp(std::string name, size_t arity, PrimOpFun fun) +{ + if (!primOps) primOps = new PrimOps; + primOps->push_back({ + .name = name, + .args = {}, + .arity = arity, + .fun = fun, + }); +} + + +RegisterPrimOp::RegisterPrimOp(Info && info) +{ + if (!primOps) primOps = new PrimOps; + primOps->push_back(std::move(info)); +} + + +void EvalState::createBaseEnv() +{ + baseEnv.up = 0; + + /* Add global constants such as `true' to the base environment. */ + Value v; + + /* `builtins' must be first! */ + v.mkAttrs(buildBindings(128).finish()); + addConstant("builtins", v); + + v.mkBool(true); + addConstant("true", v); + + v.mkBool(false); + addConstant("false", v); + + v.mkNull(); + addConstant("null", v); + + if (!evalSettings.pureEval) { + v.mkInt(time(0)); + addConstant("__currentTime", v); + + v.mkString(settings.thisSystem.get()); + addConstant("__currentSystem", v); + } + + v.mkString(nixVersion); + addConstant("__nixVersion", v); + + v.mkString(store->storeDir); + addConstant("__storeDir", v); + + /* Language version. This should be increased every time a new + language feature gets added. It's not necessary to increase it + when primops get added, because you can just use `builtins ? + primOp' to check. */ + v.mkInt(6); + addConstant("__langVersion", v); + + // Miscellaneous + if (evalSettings.enableNativeCode) { + addPrimOp("__importNative", 2, prim_importNative); + addPrimOp("__exec", 1, prim_exec); + } + + /* Add a value containing the current Nix expression search path. */ + mkList(v, searchPath.size()); + int n = 0; + for (auto & i : searchPath) { + auto attrs = buildBindings(2); + attrs.alloc("path").mkString(i.second); + attrs.alloc("prefix").mkString(i.first); + (v.listElems()[n++] = allocValue())->mkAttrs(attrs); + } + addConstant("__nixPath", v); + + if (RegisterPrimOp::primOps) + for (auto & primOp : *RegisterPrimOp::primOps) + if (!primOp.experimentalFeature + || settings.isExperimentalFeatureEnabled(*primOp.experimentalFeature)) + { + addPrimOp({ + .fun = primOp.fun, + .arity = std::max(primOp.args.size(), primOp.arity), + .name = primOp.name, + .args = primOp.args, + .doc = primOp.doc, + }); + } + + /* Add a wrapper around the derivation primop that computes the + `drvPath' and `outPath' attributes lazily. */ + sDerivationNix = symbols.create(derivationNixPath); + auto vDerivation = allocValue(); + addConstant("derivation", vDerivation); + + /* Now that we've added all primops, sort the `builtins' set, + because attribute lookups expect it to be sorted. */ + baseEnv.values[0]->attrs->sort(); + + staticBaseEnv->sort(); + + /* Note: we have to initialize the 'derivation' constant *after* + building baseEnv/staticBaseEnv because it uses 'builtins'. */ + char code[] = + #include "primops/derivation.nix.gen.hh" + // the parser needs two NUL bytes as terminators; one of them + // is implied by being a C string. + "\0"; + eval(parse(code, sizeof(code), foFile, derivationNixPath, "/", staticBaseEnv), *vDerivation); +} + + +} diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml new file mode 100644 index 00000000..eaf339f4 --- /dev/null +++ b/language_examples/ranged_for.spec.yaml @@ -0,0 +1,77899 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: archive.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: derivations.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: eval-inline.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: eval.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: globals.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: json-to-value.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: names.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: store-api.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: util.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: json.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: value-to-json.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: value-to-xml.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: primops.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: boost/container/small_vector.hpp +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: sys/types.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: sys/stat.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: unistd.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: algorithm +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: cstring +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: regex +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: dlfcn.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: cmath +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: namespace + scopesBegin: + - meta.block.namespace + - meta.head.namespace + scopes: + - keyword.other.namespace.definition + - storage.type.namespace.definition +- source: nix + scopes: + - entity.name.namespace +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.namespace + scopesEnd: + - meta.head.namespace +- source: /************************************************************* + scopesBegin: + - meta.body.namespace + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Miscellaneous' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: InvalidPathError + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: InvalidPathError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: const + scopes: + - storage.modifier.specifier.const +- source: Path + scopes: + - variable.other.unknown.Path +- source: '&' + scopes: + - keyword.operator.bitwise +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ' :' +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' is not valid' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: StringMap + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - entity.name.type +- source: EvalState + scopes: + - entity.name.scope-resolution.function.definition +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.definition +- source: realiseContext + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: const + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: PathSet + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: context + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: DerivedPath + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: Built + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: drvs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: StringMap + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputName + scopes: + - variable.camel-case + - variable.other.unknown.outputName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: decodeContext + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: store + scopes: + - variable.lower-case + - variable.other.unknown.store +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ctxS + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isValidPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: debugThrowLastTrace + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: InvalidPathError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: outputName + scopes: + - variable.camel-case + - variable.other.object.access.outputName +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: ctx + scopes: + - variable.lower-case + - variable.other.object.access.ctx +- source: . + scopes: + - punctuation.separator.dot-access +- source: isDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drvs + scopes: + - variable.lower-case + - variable.other.object.access.drvs +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '{' +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: outputName + scopes: + - variable.camel-case + - variable.other.unknown.outputName +- source: '}}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: res + scopes: + - variable.lower-case + - variable.other.object.access.res +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctxS + scopes: + - variable.camel-case + - variable.other.unknown.ctxS +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ctxS + scopes: + - variable.camel-case + - variable.other.unknown.ctxS +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: drvs + scopes: + - variable.lower-case + - variable.other.object.access.drvs +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: enableImportFromDerivation + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: debugThrowLastTrace + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: cannot build ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: >- + ' during evaluation because the option 'allow-import-from-derivation' is + disabled +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvs + scopes: + - variable.lower-case + - variable.other.object.access.drvs +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: drvPath + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Build/substitute the context. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: DerivedPath + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: buildReqs + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: d + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: drvs + scopes: + - variable.lower-case + - variable.other.unknown.drvs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: buildReqs + scopes: + - variable.camel-case + - variable.other.object.access.buildReqs +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: DerivedPath + scopes: + - variable.other.unknown.DerivedPath +- source: ' { ' +- source: d + scopes: + - variable.lower-case + - variable.other.unknown.d +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: buildPaths + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: buildReqs + scopes: + - variable.camel-case + - variable.other.unknown.buildReqs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get all the output paths corresponding to the placeholders we had ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: drvPath + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputs + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: drvs + scopes: + - variable.lower-case + - variable.other.unknown.drvs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outputPaths + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: queryDerivationOutputMap + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: outputName + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: outputs + scopes: + - variable.lower-case + - variable.other.unknown.outputs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outputPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: get + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outputPaths + scopes: + - variable.camel-case + - variable.other.unknown.outputPaths +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputName + scopes: + - variable.camel-case + - variable.other.unknown.outputName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: outputPath + scopes: + - variable.camel-case + - variable.other.unknown.outputPath +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: debugThrowLastTrace + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' does not have an output named ''' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputName + scopes: + - variable.camel-case + - variable.other.unknown.outputName +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.lower-case + - variable.other.object.access.res +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: downstreamPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: store + scopes: + - variable.lower-case + - variable.other.unknown.store +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputName + scopes: + - variable.camel-case + - variable.other.unknown.outputName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: outputPath + scopes: + - variable.camel-case + - variable.other.unknown.outputPath +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add the output of this derivations to the allowed' +- source: ' paths. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: allowedPaths + scopes: + - variable.camel-case + - variable.other.unknown.allowedPaths +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: _placeholder + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputPath + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: allowPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outputPath + scopes: + - variable.camel-case + - variable.other.unknown.outputPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: return + scopes: + - keyword.control.return +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: RealisePathFlags + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: // + scopesBegin: + - meta.body.struct + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Whether to check that the path is allowed in pure eval mode' + scopesEnd: + - comment.line.double-slash +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: checkForPureEval + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'true' + scopes: + - constant.language.true + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: Path + scopes: + - meta.qualified-type + - entity.name.type +- source: realisePath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: RealisePathFlags + scopes: + - entity.name.type.parameter +- source: flags + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while realising the context of a path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.assignment + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: StringMap + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: rewrites + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: realPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: rewriteStrings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: rewrites + scopes: + - variable.lower-case + - variable.other.unknown.rewrites +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: flags + scopes: + - variable.lower-case + - variable.other.object.access.flags +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkForPureEval + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: realPath + scopes: + - variable.camel-case + - variable.other.unknown.realPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ':' + scopes: + - keyword.operator.ternary +- source: realPath + scopes: + - variable.camel-case + - variable.other.unknown.realPath +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while realising the context of path ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add and attribute to the given attribute map from the output name to' +- source: ' the output path, or a placeholder.' +- source: ' Where possible the path is used, but for floating CA derivations we' +- source: ' may not know it. For sake of determinism we always assume we don''t' +- source: ' and instead put in a place holder. In either case, however, the' +- source: ' string context will contain the drv path and output name, so' +- source: ' downstream derivations will have the proper dependency, and in' +- source: ' addition, before building, the placeholder will be rewritten to be' +- source: ' the actual path.' +- source: ' The ''drv'' and ''drvPath'' outputs must correspond. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: mkOutputString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: BindingsBuilder + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: attrs + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: StorePath + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: drvPath + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: BasicDerivation + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: drv + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: pair + scopes: + - entity.name.type.parameter +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: DerivationOutput + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call +- source: '&' + scopes: + - storage.modifier.reference +- source: o + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: optOutputPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: o + scopes: + - variable.lower-case + - variable.other.object.access.o +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: path + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.lower-case + - variable.other.object.access.o +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: o + scopes: + - variable.lower-case + - variable.other.object.access.o +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: optOutputPath + scopes: + - variable.camel-case + - variable.other.unknown.optOutputPath +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: optOutputPath + scopes: + - variable.camel-case + - variable.other.unknown.optOutputPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Downstream we would substitute this for an actual path once' +- source: ' we build the floating CA derivation ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' FIXME: we need to depend on the basic derivation, not' +- source: ' derivation ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ':' + scopes: + - keyword.operator.ternary +- source: downstreamPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.lower-case + - variable.other.object.access.o +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '!' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: o + scopes: + - variable.lower-case + - variable.other.object.access.o +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '!' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Load and evaluate an expression from path specified by the' +- source: ' argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopes: + - storage.modifier.specifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: import + scopes: + - variable.lower-case + - variable.other.unknown.import +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: EvalState + scopes: + - variable.other.unknown.EvalState +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - variable.other.unknown.PosIdx +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - variable.other.unknown.Value +- source: '&' + scopes: + - keyword.operator.bitwise +- source: vPath + scopes: + - variable.camel-case + - variable.other.unknown.vPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vScope + scopes: + - variable.camel-case + - variable.other.unknown.vScope +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - variable.other.unknown.Value +- source: '&' + scopes: + - keyword.operator.bitwise +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vPath + scopes: + - variable.camel-case + - variable.other.unknown.vPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME' + scopesEnd: + - comment.line.double-slash +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: isValidDerivationInStore + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '->' + scopes: + - punctuation.definition.lambda.return-type +- source: 'std::optional' + scopes: + - storage.type.return-type.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt + scopes: + - variable.lower-case + - variable.other.unknown.nullopt +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: storePath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isValidPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: isDerivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt + scopes: + - variable.lower-case + - variable.other.unknown.nullopt +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.assignment + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: optStorePath + scopes: + - variable.camel-case + - variable.other.unknown.optStorePath +- source: '=' + scopes: + - keyword.operator.assignment +- source: isValidDerivationInStore + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: storePath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: optStorePath + scopes: + - variable.camel-case + - variable.other.unknown.optStorePath + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: Derivation + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: drv + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: readDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '3' + scopes: + - constant.numeric.decimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sDrvPath + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '=' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: name +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: outputsVal + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outputsVal + scopes: + - variable.camel-case + - variable.other.unknown.outputsVal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: const + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: i + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: enumerate + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: mkOutputString + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.lower-case + - variable.other.unknown.drv +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.lower-case + - variable.other.unknown.o +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputsVal + scopes: + - variable.camel-case + - variable.other.object.access.outputsVal +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: o + scopes: + - variable.lower-case + - variable.other.object.access.o +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: w + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: w + scopes: + - variable.lower-case + - variable.other.object.access.w +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: allocRootValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: imported-drv-to-derivation.nix.gen.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopesBegin: + - keyword.operator.arithmetic +- source: '*' + scopesEnd: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopesBegin: + - keyword.operator.arithmetic +- source: '*' + scopesEnd: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: w + scopes: + - variable.lower-case + - variable.other.unknown.w +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '==' + scopes: + - keyword.operator.comparison +- source: corepkgsPrefix + scopes: + - variable.camel-case + - variable.other.unknown.corepkgsPrefix +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: fetchurl.nix +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: fetchurl.nix.gen.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: vScope + scopes: + - variable.camel-case + - variable.other.unknown.vScope +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: evalFile + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vScope + scopes: + - variable.camel-case + - variable.other.unknown.vScope +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Env + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: env + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocEnv + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vScope + scopes: + - variable.camel-case + - variable.other.object.access.vScope +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: env + scopes: + - variable.lower-case + - variable.other.object.access.env +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: up + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: baseEnv + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: staticEnv + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_shared + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: StaticEnv + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: staticBaseEnv + scopes: + - variable.camel-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vScope + scopes: + - variable.camel-case + - variable.other.object.access.vScope +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.assignment + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: displ + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vScope + scopes: + - variable.camel-case + - variable.other.object.access.vScope +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: staticEnv + scopes: + - variable.camel-case + - variable.other.object.access.staticEnv +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: vars + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: displ + scopes: + - variable.lower-case + - variable.other.unknown.displ +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: env + scopes: + - variable.lower-case + - variable.other.object.access.env +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: values + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: displ + scopes: + - variable.lower-case + - variable.other.unknown.displ +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' No need to call staticEnv.sort(), because' +- source: // + scopes: + - punctuation.definition.comment +- source: ' args[0]->attrs is already sorted.' + scopesEnd: + - comment.line.double-slash +- source: printTalkative + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: evaluating file ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: Expr + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: e + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromFile + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: resolveExprPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: staticEnv + scopes: + - variable.camel-case + - variable.other.unknown.staticEnv +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: env + scopes: + - variable.lower-case + - variable.other.unknown.env +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_scopedImport + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: scopedImport +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: import + scopes: + - variable.lower-case + - variable.other.unknown.import +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.initialization.parameter + - meta.function.definition.body.lambda +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_import + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: import +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Load, parse and return the Nix expression in the file *path*. If' +- source: ' *path* is a directory, the file ` default.nix ` in that directory' +- source: ' is loaded. Evaluation aborts if the file doesn’t exist or contains' +- source: ' an incorrect Nix expression. `import` implements Nix’s module' +- source: ' system: you can put any Nix expression (such as a set or a' +- source: ' function) in a separate file, and use it from Nix expressions in' +- source: ' other files.' +- source: ' > **Note**' +- source: ' >' +- source: ' > Unlike some languages, `import` is a regular function in Nix.' +- source: ' > Paths using the angle bracket syntax (e.g., `import` *\*)' +- source: ' > are [normal path values](language-values.md).' +- source: ' A Nix expression loaded by `import` must not contain any *free' +- source: ' variables* (identifiers that are not defined in the Nix expression' +- source: ' itself and are not built-in). Therefore, it cannot refer to' +- source: ' variables that are in scope at the call site. For instance, if you' +- source: ' have a calling expression' +- source: ' ```nix' +- source: ' rec {' +- source: ' x = 123;' +- source: ' y = import ./foo.nix;' +- source: ' }' +- source: ' ```' +- source: ' then the following `foo.nix` will give an error:' +- source: ' ```nix' +- source: ' x + 456' +- source: ' ```' +- source: ' since `x` is not in scope in `foo.nix`. If you want `x` to be' +- source: ' available in `foo.nix`, you should pass it as a function argument:' +- source: ' ```nix' +- source: ' rec {' +- source: ' x = 123;' +- source: ' y = import ./foo.nix x;' +- source: ' }' +- source: ' ```' +- source: ' and' +- source: ' ```nix' +- source: ' x: x + 456' +- source: ' ```' +- source: ' (The function argument doesn’t have to be called `x` in `foo.nix`;' +- source: ' any name would work.)' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: import + scopes: + - variable.lower-case + - variable.other.unknown.import +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: nullptr + scopes: + - constant.language.nullptr +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Want reasonable symbol names, so extern C ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' !!! Should we pass the Pos or the file name too? ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: extern + scopesBegin: + - meta.block.extern + - meta.head.extern + scopes: + - storage.type.extern +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: C +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: typedef + scopes: + - keyword.other.typedef +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: ValueInitializer + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer + scopesEnd: + - meta.head.extern +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.extern +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Load a ValueInitializer from a DSO and return whatever it initializes ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_importNative + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: sym + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: void + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - storage.modifier.pointer +- source: handle + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: dlopen + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.object.access.path +- source: . + scopes: + - punctuation.separator.dot-access +- source: c_str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: RTLD_LAZY + scopes: + - variable.snake-case + - variable.other.unknown.RTLD_LAZY +- source: '|' + scopes: + - keyword.operator.bitwise +- source: RTLD_LOCAL + scopes: + - variable.snake-case + - variable.other.unknown.RTLD_LOCAL +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: handle + scopes: + - variable.lower-case + - variable.other.unknown.handle +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: could not open ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''': ' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: dlerror + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: dlerror + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueInitializer + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: func + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ValueInitializer + scopes: + - variable.other.unknown.ValueInitializer +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: dlsym + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: handle + scopes: + - variable.lower-case + - variable.other.unknown.handle +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sym + scopes: + - variable.lower-case + - variable.other.object.access.sym +- source: . + scopes: + - punctuation.separator.dot-access +- source: c_str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: func + scopes: + - variable.lower-case + - variable.other.unknown.func +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: char + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - storage.modifier.pointer +- source: message + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: dlerror + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: message + scopes: + - variable.lower-case + - variable.other.unknown.message +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: could not load symbol ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' from ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''': ' +- source: '%3%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: message + scopes: + - variable.lower-case + - variable.other.unknown.message +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: symbol ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' from ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''' resolved to NULL when a function pointer was expected' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: func + scopes: + - variable.lower-case + - variable.other.unknown.func +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' We don''t dlclose because v may be a primop referencing a function in the shared object file ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Execute a program and parse its output ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_exec + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elems + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: count + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: count + scopes: + - variable.lower-case + - variable.other.unknown.count +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: at least one argument to 'exec' required +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: program + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: Strings + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: commandArgs + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: commandArgs + scopes: + - variable.camel-case + - variable.other.object.access.commandArgs +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: _ + scopesBegin: + - meta.assignment + scopes: + - variable.other.unknown._ +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: Handle CA derivations' + scopesEnd: + - comment.line.double-slash +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: InvalidPathError + scopes: + - variable.other.unknown.InvalidPathError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: cannot execute ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''', since path ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''' is not valid' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: program + scopes: + - variable.lower-case + - variable.other.unknown.program +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: path + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: output + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: runProgram + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: program + scopes: + - variable.lower-case + - variable.other.unknown.program +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: commandArgs + scopes: + - variable.camel-case + - variable.other.unknown.commandArgs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: Expr + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: parsed + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: base + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: parsed + scopes: + - variable.lower-case + - variable.other.unknown.parsed +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: output + scopes: + - variable.lower-case + - variable.other.unknown.output +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: base + scopes: + - variable.lower-case + - variable.other.object.access.base +- source: . + scopes: + - punctuation.separator.dot-access +- source: file + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: While parsing the output from ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: program + scopes: + - variable.lower-case + - variable.other.unknown.program +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: parsed + scopes: + - variable.lower-case + - variable.other.unknown.parsed +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: While evaluating the output from ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: program + scopes: + - variable.lower-case + - variable.other.unknown.program +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return a string representing the type of the expression. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_typeOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: t + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: nInt + scopes: + - variable.camel-case + - variable.other.unknown.nInt +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: int +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nBool + scopes: + - variable.camel-case + - variable.other.unknown.nBool +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: bool +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nString + scopes: + - variable.camel-case + - variable.other.unknown.nString +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: string +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nPath + scopes: + - variable.camel-case + - variable.other.unknown.nPath +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nNull + scopes: + - variable.camel-case + - variable.other.unknown.nNull +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'null' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nAttrs + scopes: + - variable.camel-case + - variable.other.unknown.nAttrs +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nList + scopes: + - variable.camel-case + - variable.other.unknown.nList +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nFunction + scopes: + - variable.camel-case + - variable.other.unknown.nFunction +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: lambda +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nExternal + scopes: + - variable.camel-case + - variable.other.unknown.nExternal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: external + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: typeOf + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: float +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nThunk + scopes: + - variable.camel-case + - variable.other.unknown.nThunk +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: abort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: t + scopes: + - variable.lower-case + - variable.other.unknown.t +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_typeOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __typeOf +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a string representing the type of the value *e*, namely' +- source: ' `"int"`, `"bool"`, `"string"`, `"path"`, `"null"`, `"set"`,' +- source: ' `"list"`, `"lambda"` or `"float"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_typeOf + scopes: + - variable.snake-case + - variable.other.unknown.prim_typeOf +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is the null value. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isNull + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nNull + scopes: + - variable.camel-case + - variable.other.unknown.nNull +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isNull + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: isNull +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to `null`, and `false` otherwise.' +- source: ' > **Warning**' +- source: ' >' +- source: ' > This function is *deprecated*; just write `e == null` instead.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isNull + scopes: + - variable.snake-case + - variable.other.unknown.prim_isNull +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a function. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isFunction + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFunction + scopes: + - variable.camel-case + - variable.other.unknown.nFunction +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isFunction + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isFunction +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a function, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isFunction + scopes: + - variable.snake-case + - variable.other.unknown.prim_isFunction +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is an integer. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isInt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nInt + scopes: + - variable.camel-case + - variable.other.unknown.nInt +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isInt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isInt +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to an integer, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isInt + scopes: + - variable.snake-case + - variable.other.unknown.prim_isInt +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a float. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isFloat + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isFloat + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isFloat +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a float, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isFloat + scopes: + - variable.snake-case + - variable.other.unknown.prim_isFloat +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a string. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nString + scopes: + - variable.camel-case + - variable.other.unknown.nString +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isString +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a string, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isString + scopes: + - variable.snake-case + - variable.other.unknown.prim_isString +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a Boolean. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isBool + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nBool + scopes: + - variable.camel-case + - variable.other.unknown.nBool +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isBool + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isBool +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a bool, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isBool + scopes: + - variable.snake-case + - variable.other.unknown.prim_isBool +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a path. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nPath + scopes: + - variable.camel-case + - variable.other.unknown.nPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isPath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a path, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isPath + scopes: + - variable.snake-case + - variable.other.unknown.prim_isPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: CompareValues + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: EvalState + scopesBegin: + - meta.body.struct + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: CompareValues + scopesBegin: + - meta.function.definition.special.constructor + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: EvalState + scopesBegin: + - meta.function.definition.parameters.special.constructor + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.constructor + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: state + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: state + scopes: + - meta.parameter.initialization + - variable.lower-case + - variable.other.unknown.state +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: () + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: Value + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v1 + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v2 + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: if + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: '&&' + scopes: + - keyword.operator.logical +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nInt + scopes: + - variable.camel-case + - variable.other.unknown.nInt +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nInt + scopes: + - variable.camel-case + - variable.other.unknown.nInt +- source: '&&' + scopes: + - keyword.operator.logical +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'cannot compare ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ' with ' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v1 + scopes: + - variable.lower-case + - variable.other.unknown.v1 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.lower-case + - variable.other.unknown.v2 +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: nInt + scopes: + - variable.camel-case + - variable.other.unknown.nInt +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nString + scopes: + - variable.camel-case + - variable.other.unknown.nString +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: strcmp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nPath + scopes: + - variable.camel-case + - variable.other.unknown.nPath +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: strcmp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: path + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: path + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: nList + scopes: + - variable.camel-case + - variable.other.unknown.nList +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Lexicographic comparison' + scopesEnd: + - comment.line.double-slash +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopesBegin: + - punctuation.terminator.statement +- source: ; + scopesEnd: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '==' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '==' + scopes: + - keyword.operator.comparison +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: eqValues + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: this + scopes: + - variable.language.this +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: default + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.default +- source: ':' + scopes: + - punctuation.separator.colon.case.default + scopesEnd: + - meta.conditional.case +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'cannot compare ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ' with ' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v1 + scopes: + - variable.lower-case + - variable.other.unknown.v1 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.lower-case + - variable.other.unknown.v2 +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: '#' + scopesBegin: + - keyword.control.directive.conditional.if + scopes: + - punctuation.definition.directive +- source: if + scopesEnd: + - keyword.control.directive.conditional.if +- source: HAVE_BOEHMGC + scopes: + - meta.preprocessor.conditional + - entity.name.function.preprocessor +- source: typedef + scopes: + - keyword.other.typedef +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: list + scopes: + - variable.lower-case + - variable.other.unknown.list +- source: < + scopes: + - keyword.operator.comparison +- source: Value + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: gc_allocator + scopes: + - variable.snake-case + - variable.other.unknown.gc_allocator +- source: < + scopes: + - keyword.operator.comparison +- source: Value + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: ValueList + scopes: + - variable.other.unknown.ValueList +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.else + scopes: + - punctuation.definition.directive +- source: else + scopesEnd: + - keyword.control.directive.else +- source: typedef + scopes: + - keyword.other.typedef +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: list + scopes: + - variable.lower-case + - variable.other.unknown.list +- source: < + scopes: + - keyword.operator.comparison +- source: Value + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>' + scopes: + - keyword.operator.comparison +- source: ValueList + scopes: + - variable.other.unknown.ValueList +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.endif + scopes: + - punctuation.definition.directive +- source: endif + scopesEnd: + - keyword.control.directive.endif +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: Bindings + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: getAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: funcName + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Symbol + scopes: + - entity.name.type.parameter +- source: attrSym + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Bindings + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: attrSet + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: Bindings + scopesBegin: + - meta.body.function.definition + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrSet + scopes: + - variable.camel-case + - variable.other.object.access.attrSet +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrSym + scopes: + - variable.camel-case + - variable.other.unknown.attrSym +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value +- source: '==' + scopes: + - keyword.operator.comparison +- source: attrSet + scopes: + - variable.camel-case + - variable.other.object.access.attrSet +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: hintformat + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: errorMsg + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attribute ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' missing for call to ''' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attrSym + scopes: + - variable.camel-case + - variable.other.unknown.attrSym +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: funcName + scopes: + - variable.camel-case + - variable.other.unknown.funcName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: aPos + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrSet + scopes: + - variable.camel-case + - variable.other.object.access.attrSet +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: aPos + scopes: + - variable.camel-case + - variable.other.unknown.aPos +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: errorMsg + scopes: + - variable.camel-case + - variable.other.unknown.errorMsg +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: e + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: errorMsg + scopes: + - variable.camel-case + - variable.other.unknown.errorMsg +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: aPos + scopes: + - variable.camel-case + - variable.other.unknown.aPos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Adding another trace for the function name to make it clear' +- source: // + scopes: + - punctuation.definition.comment +- source: ' which call received wrong arguments.' + scopesEnd: + - comment.line.double-slash +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while invoking ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: funcName + scopes: + - variable.camel-case + - variable.other.unknown.funcName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: return + scopes: + - keyword.control.return +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_genericClosure + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get the start set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: startSet + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: genericClosure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sStartSet + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: startSet + scopes: + - variable.camel-case + - variable.other.object.access.startSet +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueList + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: workSet + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: startSet + scopes: + - variable.camel-case + - variable.other.object.access.startSet +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: workSet + scopes: + - variable.camel-case + - variable.other.object.access.workSet +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get the operator. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: op + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: genericClosure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOperator + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: op + scopes: + - variable.lower-case + - variable.other.object.access.op +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Construct the closure by applying the operator to element of' +- source: ' `workSet'', adding the result to `workSet'', continuing until' +- source: ' no new elements are found. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ValueList + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' `doneKeys'' doesn''t need to be a GC root, because its values are' +- source: // + scopes: + - punctuation.definition.comment +- source: ' reachable from res.' + scopesEnd: + - comment.line.double-slash +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: cmp + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: CompareValues + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: set + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Value + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: decltype + scopes: + - keyword.operator.functionlike + - keyword.other.decltype + - storage.type.decltype +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.decltype +- source: cmp + scopes: + - meta.arguments.decltype + - variable.lower-case + - variable.other.unknown.cmp +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.decltype +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: doneKeys + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: cmp + scopes: + - variable.lower-case + - variable.other.unknown.cmp +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: workSet + scopes: + - variable.camel-case + - variable.other.object.access.workSet +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: e + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: workSet + scopes: + - variable.camel-case + - variable.other.object.access.workSet +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.assignment + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: workSet + scopes: + - variable.camel-case + - variable.other.object.access.workSet +- source: . + scopes: + - punctuation.separator.dot-access +- source: pop_front + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: key + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sKey + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: key + scopes: + - variable.lower-case + - variable.other.unknown.key +- source: '==' + scopes: + - keyword.operator.comparison +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attribute 'key' required +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: key + scopes: + - variable.lower-case + - variable.other.object.access.key +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: doneKeys + scopes: + - variable.camel-case + - variable.other.object.access.doneKeys +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: key + scopes: + - variable.lower-case + - variable.other.object.access.key +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.lower-case + - variable.other.object.access.res +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Call the `operator'' function with `e'' as argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: call + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: call + scopes: + - variable.lower-case + - variable.other.object.access.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: op + scopes: + - variable.lower-case + - variable.other.object.access.op +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: call + scopes: + - variable.lower-case + - variable.other.unknown.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add the values returned by the operator to the work set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: call + scopes: + - variable.lower-case + - variable.other.object.access.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: workSet + scopes: + - variable.camel-case + - variable.other.object.access.workSet +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Create the result list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: res + scopes: + - variable.lower-case + - variable.other.object.access.res +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.assignment + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_genericClosure + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __genericClosure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: args + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attrset +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.initialization.parameter + - string.quoted.double +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.initialization +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: arity + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Take an *attrset* with values named `startSet` and `operator` in order to' +- source: ' return a *list of attrsets* by starting with the `startSet`, recursively' +- source: ' applying the `operator` function to each element. The *attrsets* in the' +- source: ' `startSet` and produced by the `operator` must each contain value named' +- source: ' `key` which are comparable to each other. The result is produced by' +- source: ' repeatedly calling the operator for each element encountered with a' +- source: ' unique key, terminating when no new elements are produced. For example,' +- source: ' ```' +- source: ' builtins.genericClosure {' +- source: ' startSet = [ {key = 5;} ];' +- source: ' operator = item: [{' +- source: ' key = if (item.key / 2 ) * 2 == item.key' +- source: ' then item.key / 2' +- source: ' else 3 * item.key + 1;' +- source: ' }];' +- source: ' }' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```' +- source: ' [ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ]' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_genericClosure + scopes: + - variable.snake-case + - variable.other.unknown.prim_genericClosure +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_break + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: break +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: v +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' In debug mode (enabled using `--debugger`), pause Nix expression evaluation and enter the REPL.' +- source: ' Otherwise, return the argument `v`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugRepl + scopes: + - variable.other.property +- source: '&&' + scopesBegin: + - keyword.operator.logical +- source: '!' + scopesEnd: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugTraces + scopes: + - variable.camel-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: error + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ErrorInfo + scopes: + - variable.other.unknown.ErrorInfo +- source: ' {' +- source: ' .' +- source: level + scopes: + - variable.lower-case + - variable.other.unknown.level +- source: '=' + scopes: + - keyword.operator.assignment +- source: lvlInfo + scopes: + - variable.camel-case + - variable.other.unknown.lvlInfo +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: breakpoint reached +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: dt + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugTraces + scopes: + - variable.camel-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: front + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: runDebugRepl + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: error + scopes: + - variable.lower-case + - variable.other.unknown.error +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: dt + scopes: + - variable.lower-case + - variable.other.object.access.dt +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: dt + scopes: + - variable.lower-case + - variable.other.object.access.dt +- source: . + scopes: + - punctuation.separator.dot-access +- source: expr + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugQuit + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' If the user elects to quit the repl, throw an exception.' + scopesEnd: + - comment.line.double-slash +- source: throw + scopes: + - keyword.control.throw +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ErrorInfo + scopes: + - variable.other.unknown.ErrorInfo +- source: '{' +- source: ' .' +- source: level + scopes: + - variable.lower-case + - variable.other.unknown.level +- source: '=' + scopes: + - keyword.operator.assignment +- source: lvlInfo + scopes: + - variable.camel-case + - variable.other.unknown.lvlInfo +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: quit the debugger +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: noPos + scopes: + - variable.camel-case + - variable.other.unknown.noPos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Return the value we were passed.' + scopesEnd: + - comment.line.double-slash +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_abort + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: abort +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Abort Nix expression evaluation and print the error message *s*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Abort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'evaluation aborted with the following error message: ''' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_throw + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: throw +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Throw an error message *s*. This usually aborts Nix expression' +- source: ' evaluation, but in `nix-env -qa` and other commands that try to' +- source: ' evaluate a set of derivations to get information about those' +- source: ' derivations, a derivation that throws an error is silently skipped' +- source: ' (which is not the case for `abort`).' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ThrownError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_addErrorContext + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: try + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt + scopes: + - variable.lower-case + - variable.other.unknown.nullopt +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_addErrorContext + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __addErrorContext +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_addErrorContext + scopes: + - variable.snake-case + - variable.other.unknown.prim_addErrorContext +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_ceil + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ceil + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_ceil + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __ceil +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: double +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Converts an IEEE-754 double-precision floating-point number (*double*) to' +- source: ' the next higher integer.' +- source: ' If the datatype is neither an integer nor a "float", an evaluation error will be' +- source: ' thrown.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_ceil + scopes: + - variable.snake-case + - variable.other.unknown.prim_ceil +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_floor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: value + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: floor + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: value + scopes: + - variable.lower-case + - variable.other.unknown.value +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_floor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __floor +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: double +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Converts an IEEE-754 double-precision floating-point number (*double*) to' +- source: ' the next lower integer.' +- source: ' If the datatype is neither an integer nor a "float", an evaluation error will be' +- source: ' thrown.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_floor + scopes: + - variable.snake-case + - variable.other.unknown.prim_floor +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Try evaluating the argument. Success => {success=true; value=something;},' +- source: ' * else => {success=false; value=false;} ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_tryEval + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sValue + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: success +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: AssertionError + scopes: + - variable.other.unknown.AssertionError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sValue + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: success +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_tryEval + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __tryEval +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Try to shallowly evaluate *e*. Return a set containing the' +- source: ' attributes `success` (`true` if *e* evaluated successfully,' +- source: ' `false` if an error was thrown) and `value`, equalling *e* if' +- source: ' successful and `false` otherwise. `tryEval` will only prevent' +- source: ' errors created by `throw` or `assert` from being thrown.' +- source: ' Errors `tryEval` will not catch are for example those created' +- source: ' by `abort` and type errors generated by builtins. Also note that' +- source: ' this doesn''t evaluate *e* deeply, so `let e = { x = throw ""; };' +- source: ' in (builtins.tryEval e).success` will be `true`. Using' +- source: ' `builtins.deepSeq` one can get the expected result:' +- source: ' `let e = { x = throw ""; }; in' +- source: ' (builtins.tryEval (builtins.deepSeq e e)).success` will be' +- source: ' `false`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_tryEval + scopes: + - variable.snake-case + - variable.other.unknown.prim_tryEval +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return an environment variable. Use with care. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_getEnv + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: name + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: restrictEval + scopes: + - variable.other.property +- source: '||' + scopes: + - keyword.operator.logical +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: getEnv + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_getEnv + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __getEnv +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' `getEnv` returns the value of the environment variable *s*, or an' +- source: ' empty string if the variable doesn’t exist. This function should be' +- source: ' used with care, as it can introduce all sorts of nasty environment' +- source: ' dependencies in your Nix expression.' +- source: ' `getEnv` is used in Nix Packages to locate the file' +- source: ' `~/.nixpkgs/config.nix`, which contains user-local settings for Nix' +- source: ' Packages. (That is, it does a `getEnv "HOME"` to locate the user’s' +- source: ' home directory.)' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_getEnv + scopes: + - variable.snake-case + - variable.other.unknown.prim_getEnv +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Evaluate the first argument, then return the second argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_seq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_seq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __seq +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Evaluate *e1*, then evaluate and return *e2*. This ensures that a' +- source: ' computation is strict in the value of *e1*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_seq + scopes: + - variable.snake-case + - variable.other.unknown.prim_seq +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Evaluate the first argument deeply (i.e. recursing into lists and' +- source: ' attrsets), then return the second argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_deepSeq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValueDeep + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_deepSeq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __deepSeq +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' This is like `seq e1 e2`, except that *e1* is evaluated *deeply*:' +- source: ' if it’s a list or set, its elements or attributes are also' +- source: ' evaluated recursively.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_deepSeq + scopes: + - variable.snake-case + - variable.other.unknown.prim_deepSeq +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Evaluate the first expression and print it on standard error. Then' +- source: ' return the second expression. Useful for debugging. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_trace + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nString + scopes: + - variable.camel-case + - variable.other.unknown.nString +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: printError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'trace: ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: printError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'trace: ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: printValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_trace + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __trace +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Evaluate *e1* and print its abstract syntax representation on' +- source: ' standard error. Then return *e2*. This function is useful for' +- source: ' debugging.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_trace + scopes: + - variable.snake-case + - variable.other.unknown.prim_trace +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Derivations' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Construct (as a unobservable side effect) a Nix derivation' +- source: ' expression that performs the derivation described by the argument' +- source: ' set. Returns the original set extended with the following' +- source: ' attributes: `outPath'' containing the primary output path of the' +- source: ' derivation; `drvPath'' containing the path of the Nix expression;' +- source: ' and `type'' set to `derivation'' to indicate that this is a' +- source: ' derivation. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_derivationStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Figure out the name first (for stack backtraces). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: attr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivationStrict +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: drvName + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: posDrvName + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while evaluating the derivation attribute 'name' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Check whether attributes should be passed as a JSON file. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostringstream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: jsonBuf + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: unique_ptr + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: JSONObject + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: jsonObject + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sStructuredAttrs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: jsonObject + scopes: + - variable.camel-case + - variable.other.unknown.jsonObject +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_unique + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: JSONObject + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: jsonBuf + scopes: + - variable.camel-case + - variable.other.unknown.jsonBuf +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Check whether null attributes should be ignored. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ignoreNulls + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'false' + scopes: + - constant.language.false + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sIgnoreNulls + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ignoreNulls + scopes: + - variable.camel-case + - variable.other.unknown.ignoreNulls +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Build the derivation expression by processing the attributes. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Derivation + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: drv + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: contentAddressed + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'false' + scopes: + - constant.language.false + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: isImpure + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'false' + scopes: + - constant.language.false + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: outputHash + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: outputHashAlgo + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: FileIngestionMethod + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: ingestionMethod + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: StringSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: outputs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lexicographicOrder + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sIgnoreNulls + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '&' + scopes: + - storage.modifier.reference +- source: key + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: vomit + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: processing attribute ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: key + scopes: + - variable.lower-case + - variable.other.unknown.key +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: handleHashMode + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: const + scopesBegin: + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: s + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: recursive +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ingestionMethod + scopes: + - variable.camel-case + - variable.other.unknown.ingestionMethod +- source: '=' + scopes: + - keyword.operator.assignment +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive + scopes: + - variable.other.unknown.Recursive +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: flat +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ingestionMethod + scopes: + - variable.camel-case + - variable.other.unknown.ingestionMethod +- source: '=' + scopes: + - keyword.operator.assignment +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Flat + scopes: + - variable.other.unknown.Flat +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid value ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' for ''outputHashMode'' attribute' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.assignment + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: handleOutputs + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: const + scopesBegin: + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Strings + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: ss + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: clear + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: j + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ss + scopes: + - variable.lower-case + - variable.other.unknown.ss + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: duplicate derivation output ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' !!! Check whether j is a valid attribute' +- source: ' name. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' Derivations cannot be named ‘drv’, because' +- source: ' then we''d have an attribute ‘drvPath’ in' +- source: ' the resulting set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: drv +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid derivation output name 'drv' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation cannot have an empty set of outputs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.assignment + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ignoreNulls + scopes: + - variable.camel-case + - variable.other.unknown.ignoreNulls +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nNull + scopes: + - variable.camel-case + - variable.other.unknown.nNull +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sContentAddressed + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: contentAddressed + scopes: + - variable.camel-case + - variable.other.unknown.contentAddressed +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: contentAddressed + scopes: + - variable.camel-case + - variable.other.unknown.contentAddressed +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: requireExperimentalFeature + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Xp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: CaDerivations + scopes: + - variable.other.unknown.CaDerivations +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sImpure + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: isImpure + scopes: + - variable.camel-case + - variable.other.unknown.isImpure +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: isImpure + scopes: + - variable.camel-case + - variable.other.unknown.isImpure +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: requireExperimentalFeature + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Xp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ImpureDerivations + scopes: + - variable.other.unknown.ImpureDerivations +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' The `args'' attribute is special: it supplies the' +- source: ' command-line arguments to the builder. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sArgs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: args + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' All other attributes are passed to the builder through' +- source: ' the environment. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: jsonObject + scopes: + - variable.camel-case + - variable.other.unknown.jsonObject +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sStructuredAttrs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: placeholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: jsonObject + scopes: + - variable.camel-case + - variable.other.object.access.jsonObject +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: placeholder + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: key + scopes: + - variable.lower-case + - variable.other.unknown.key +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: printValueAsJSON + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: placeholder + scopes: + - variable.lower-case + - variable.other.unknown.placeholder +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sBuilder + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: builder + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sSystem + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: platform + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHash + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: outputHash + scopes: + - variable.camel-case + - variable.other.unknown.outputHash +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashAlgo + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: outputHashAlgo + scopes: + - variable.camel-case + - variable.other.unknown.outputHashAlgo +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashMode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: handleHashMode + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Require ‘outputs’ to be a list of strings. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Strings + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: ss + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ss + scopes: + - variable.lower-case + - variable.other.object.access.ss +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: handleOutputs + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ss + scopes: + - variable.lower-case + - variable.other.unknown.ss +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: key + scopes: + - variable.lower-case + - variable.other.unknown.key +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sBuilder + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: builder + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sSystem + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: platform + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHash + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: outputHash + scopes: + - variable.camel-case + - variable.other.unknown.outputHash +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashAlgo + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: outputHashAlgo + scopes: + - variable.camel-case + - variable.other.unknown.outputHashAlgo +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashMode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: handleHashMode + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: handleOutputs + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: tokenizeString + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Strings + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while evaluating the attribute ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' of the derivation ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: key + scopes: + - variable.lower-case + - variable.other.unknown.key +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: jsonObject + scopes: + - variable.camel-case + - variable.other.unknown.jsonObject +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: jsonObject + scopes: + - variable.camel-case + - variable.other.object.access.jsonObject +- source: . + scopes: + - punctuation.separator.dot-access +- source: reset + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __json +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: jsonBuf + scopes: + - variable.camel-case + - variable.other.object.access.jsonBuf +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Everything in the context of the strings in the derivation' +- source: ' attributes should be added as dependencies of the resulting' +- source: ' derivation. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: path + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Paths marked with `='' denote that the path of a derivation' +- source: ' is explicitly passed to the builder. Since that allows the' +- source: ' builder to gain access to every path in the dependency' +- source: ' graph of the derivation (including all outputs), all paths' +- source: ' in the graph must be added to this derivation''s list of' +- source: ' inputs to ensure that they are available when the builder' +- source: ' runs. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.lower-case + - variable.other.object.access.path +- source: . + scopes: + - punctuation.separator.dot-access +- source: at + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: '=' +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' !!! This doesn''t work if readOnlyMode is set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: StorePathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: refs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: computeFSClosure + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: string_view + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: substr + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: j + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputSrcs + scopes: + - variable.camel-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: j + scopes: + - variable.lower-case + - variable.other.object.access.j +- source: . + scopes: + - punctuation.separator.dot-access +- source: isDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputDrvs + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: readDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputNames + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Handle derivation outputs of the form ‘!!’. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.lower-case + - variable.other.object.access.path +- source: . + scopes: + - punctuation.separator.dot-access +- source: at + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: '!' +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ctx + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: decodeContext + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputDrvs + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ctx + scopes: + - variable.lower-case + - variable.other.object.access.ctx +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx + scopes: + - variable.lower-case + - variable.other.object.access.ctx +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Otherwise it''s a source file. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputSrcs + scopes: + - variable.camel-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Do we have all required attributes? ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: builder + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: required attribute 'builder' missing +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: platform + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: required attribute 'system' missing +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Check whether the derivation name is valid. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: isDerivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation names are not allowed to end in ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvExtension + scopes: + - variable.camel-case + - variable.other.unknown.drvExtension +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputHash + scopes: + - variable.camel-case + - variable.other.unknown.outputHash +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Handle fixed-output derivations.' +- source: ' Ignore `__contentAddressed` because fixed output derivations are' +- source: ' already content addressed. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: '1' + scopes: + - constant.numeric.decimal +- source: '||' + scopes: + - keyword.operator.logical +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.access.outputs +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '!=' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: multiple outputs are not supported in fixed-output derivations +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: h + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: newHashAllowEmpty + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: outputHash + scopes: + - variable.camel-case + - variable.other.unknown.outputHash +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: parseHashTypeOpt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outputHashAlgo + scopes: + - variable.camel-case + - variable.other.unknown.outputHashAlgo +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: method + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: ingestionMethod + scopes: + - variable.camel-case + - variable.other.object.access.ingestionMethod +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Flat + scopes: + - variable.other.unknown.Flat +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: makeFixedOutputPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: h + scopes: + - variable.lower-case + - variable.other.unknown.h +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outPath + scopes: + - variable.camel-case + - variable.other.unknown.outPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: CAFixed + scopes: + - variable.other.unknown.CAFixed +- source: ' {' +- source: ' .' +- source: hash + scopes: + - variable.lower-case + - variable.other.unknown.hash +- source: '=' + scopes: + - keyword.operator.assignment +- source: FixedOutputHash + scopes: + - variable.other.unknown.FixedOutputHash +- source: ' {' +- source: ' .' +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: '=' + scopes: + - keyword.operator.assignment +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: hash + scopes: + - variable.lower-case + - variable.other.unknown.hash +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: h + scopes: + - variable.lower-case + - variable.other.unknown.h +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: contentAddressed + scopes: + - variable.camel-case + - variable.other.unknown.contentAddressed +- source: '||' + scopes: + - keyword.operator.logical +- source: isImpure + scopes: + - variable.camel-case + - variable.other.unknown.isImpure +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: contentAddressed + scopes: + - variable.camel-case + - variable.other.unknown.contentAddressed +- source: '&&' + scopes: + - keyword.operator.logical +- source: isImpure + scopes: + - variable.camel-case + - variable.other.unknown.isImpure +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: throw + scopes: + - keyword.control.throw +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation cannot be both content-addressed and impure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ht + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: parseHashTypeOpt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outputHashAlgo + scopes: + - variable.camel-case + - variable.other.unknown.outputHashAlgo +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: htSHA256 + scopes: + - variable.camel-case + - variable.other.unknown.htSHA256 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: method + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: ingestionMethod + scopes: + - variable.camel-case + - variable.other.object.access.ingestionMethod +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive + scopes: + - variable.other.unknown.Recursive +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: outputs + scopes: + - variable.lower-case + - variable.other.unknown.outputs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: hashPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: isImpure + scopes: + - variable.camel-case + - variable.other.unknown.isImpure +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Impure + scopes: + - variable.other.unknown.Impure +- source: ' {' +- source: ' .' +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: '=' + scopes: + - keyword.operator.assignment +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: hashType + scopes: + - variable.camel-case + - variable.other.unknown.hashType +- source: '=' + scopes: + - keyword.operator.assignment +- source: ht + scopes: + - variable.lower-case + - variable.other.unknown.ht +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: CAFloating + scopes: + - variable.other.unknown.CAFloating +- source: ' {' +- source: ' .' +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: '=' + scopes: + - keyword.operator.assignment +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: hashType + scopes: + - variable.camel-case + - variable.other.unknown.hashType +- source: '=' + scopes: + - keyword.operator.assignment +- source: ht + scopes: + - variable.lower-case + - variable.other.unknown.ht +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Compute a hash over the "masked" store derivation, which is' +- source: ' the final one except that in the list of outputs, the' +- source: ' output paths are empty strings, and the corresponding' +- source: ' environment variables have an empty value. This ensures' +- source: ' that changes in the set of output names do get reflected in' +- source: ' the hash. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: outputs + scopes: + - variable.lower-case + - variable.other.unknown.outputs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Deferred + scopes: + - variable.other.unknown.Deferred +- source: ' { }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: hashModulo + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: hashDerivationModulo + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Derivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: drv + scopes: + - variable.lower-case + - variable.other.unknown.drv +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: hashModulo + scopes: + - variable.camel-case + - variable.other.object.access.hashModulo +- source: . + scopes: + - punctuation.separator.dot-access +- source: kind + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: DrvHash + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Kind + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Regular + scopes: + - variable.other.unknown.Regular +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: outputs + scopes: + - variable.lower-case + - variable.other.unknown.outputs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: h + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: get + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: hashModulo + scopes: + - variable.camel-case + - variable.other.object.access.hashModulo +- source: . + scopes: + - punctuation.separator.dot-access +- source: hashes + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: h + scopes: + - variable.lower-case + - variable.other.unknown.h +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: throw + scopes: + - keyword.control.throw +- source: AssertionError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation produced no hash for output ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName + scopes: + - variable.camel-case + - variable.other.unknown.posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: makeOutputPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: h + scopes: + - variable.lower-case + - variable.other.unknown.h +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outPath + scopes: + - variable.camel-case + - variable.other.unknown.outPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutputInputAddressed + scopes: + - variable.other.unknown.DerivationOutputInputAddressed +- source: ' {' +- source: ' .' +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outPath + scopes: + - variable.camel-case + - variable.other.unknown.outPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: break + scopes: + - keyword.control.break +- source: ; + scopesBegin: + - punctuation.terminator.statement +- source: ; + scopesEnd: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: DrvHash + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Kind + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Deferred + scopes: + - variable.other.unknown.Deferred +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: outputs + scopes: + - variable.lower-case + - variable.other.unknown.outputs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutputDeferred + scopes: + - variable.other.unknown.DerivationOutputDeferred +- source: ' {}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Write the resulting term into the Nix store directory. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: drvPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: writeDerivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.lower-case + - variable.other.unknown.drv +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: repair + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: drvPathS + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: printMsg + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: lvlChatty + scopes: + - variable.camel-case + - variable.other.unknown.lvlChatty +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: instantiated ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' -> ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvName + scopes: + - variable.camel-case + - variable.other.unknown.drvName +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvPathS + scopes: + - variable.camel-case + - variable.other.unknown.drvPathS +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Optimisation, but required in read-only mode! because in that' +- source: ' case we don''t actually write store derivations, so we can''t' +- source: ' read them later. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: h + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: hashDerivationModulo + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.lower-case + - variable.other.unknown.drv +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: drvHashes + scopes: + - variable.camel-case + - variable.other.object.access.drvHashes +- source: . + scopes: + - punctuation.separator.dot-access +- source: lock + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: h + scopes: + - variable.lower-case + - variable.other.unknown.h +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '1' + scopes: + - constant.numeric.decimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sDrvPath + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPathS + scopes: + - variable.camel-case + - variable.other.unknown.drvPathS +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '=' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: drvPathS + scopes: + - variable.camel-case + - variable.other.unknown.drvPathS +- source: '}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: drv + scopes: + - variable.lower-case + - variable.other.object.access.drv +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: mkOutputString + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drvPath + scopes: + - variable.camel-case + - variable.other.unknown.drvPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.lower-case + - variable.other.unknown.drv +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_derivationStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivationStrict +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_derivationStrict + scopes: + - variable.snake-case + - variable.other.unknown.prim_derivationStrict +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return a placeholder string for the specified output that will be' +- source: ' substituted by the corresponding output path at build time. For' +- source: ' example, ''placeholder "out"'' returns the string' +- source: ' /1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9. At build' +- source: ' time, any occurrence of this string in an derivation attribute will' +- source: ' be replaced with the concrete path in the Nix store of the output' +- source: ' ‘out’. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_placeholder + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: hashPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_placeholder + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: output +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a placeholder string for the specified *output* that will be' +- source: ' substituted by the corresponding output path at build time. Typical' +- source: ' outputs would be `"out"`, `"bin"` or `"dev"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_placeholder + scopes: + - variable.snake-case + - variable.other.unknown.prim_placeholder +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Paths' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument to a path. !!! obsolete? ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: canonPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_toPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toPath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' **DEPRECATED.** Use `/. + "/path"` to convert a string into an absolute' +- source: ' path. For relative paths, use `./. + "/path"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_toPath + scopes: + - variable.snake-case + - variable.other.unknown.prim_toPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Allow a valid store path to be used in an expression. This is' +- source: ' useful in some generated expressions such as in nix-push, which' +- source: ' generates a call to a function with an already existing store path' +- source: ' as argument. You don''t want to use `toPath'' here because it copies' +- source: ' the path to the Nix store, which yields a copy like' +- source: ' /nix/store/newhash-oldhash-oldname. In the past, `toPath'' had' +- source: ' special case behaviour for store paths, but that created weird' +- source: ' corner cases. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_storePath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: if + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' is not allowed in pure evaluation mode' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: builtins.storePath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Resolve symlinks in ‘path’, unless ‘path’ itself is a symlink' +- source: ' directly in the store. The latter condition is necessary so' +- source: ' e.g. nix-push does the right thing. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: canonPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isInStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' is not in the Nix store' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: readOnlyMode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: ensurePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path2 + scopes: + - variable.lower-case + - variable.other.unknown.path2 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: context + scopes: + - variable.lower-case + - variable.other.object.access.context +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path2 + scopes: + - variable.lower-case + - variable.other.unknown.path2 +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_storePath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __storePath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' This function allows you to define a dependency on an already' +- source: ' existing store path. For example, the derivation attribute `src' +- source: ' = builtins.storePath /nix/store/f1d18v1y…-source` causes the' +- source: ' derivation to depend on the specified path, which must exist or' +- source: ' be substitutable. Note that this differs from a plain path' +- source: ' (e.g. `src = /nix/store/f1d18v1y…-source`) in that the latter' +- source: ' causes the path to be *copied* again to the Nix store, resulting' +- source: ' in a new path (e.g. `/nix/store/ld01dnzc…-source-source`).' +- source: ' This function is not available in pure evaluation mode.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_storePath + scopes: + - variable.snake-case + - variable.other.unknown.prim_storePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_pathExists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: /* + scopesBegin: + - meta.body.function.definition + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' We don’t check the path right now, because we don’t want to' +- source: ' throw if the path isn’t allowed, but just return false (and we' +- source: ' can’t just catch the exception here because we still want to' +- source: ' throw if something in the evaluation of `*' +- source: 'args[0]` tries to' +- source: ' access an unauthorized path). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' { .' +- source: checkForPureEval + scopes: + - variable.camel-case + - variable.other.unknown.checkForPureEval +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pathExists + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: SysError + scopes: + - variable.other.unknown.SysError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Don''t give away info from errors while canonicalising' +- source: ' ‘path’ in restricted mode. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: RestrictedPathError + scopes: + - variable.other.unknown.RestrictedPathError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_pathExists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __pathExists +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the path *path* exists at evaluation time, and' +- source: ' `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_pathExists + scopes: + - variable.snake-case + - variable.other.unknown.prim_pathExists +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the base name of the given string, i.e., everything' +- source: ' following the last slash. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_baseNameOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: baseNameOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_baseNameOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: baseNameOf +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the *base name* of the string *s*, that is, everything' +- source: ' following the final slash in the string. This is similar to the GNU' +- source: ' `basename` command.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_baseNameOf + scopes: + - variable.snake-case + - variable.other.unknown.prim_baseNameOf +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the directory of the given path, i.e., everything before the' +- source: ' last slash. Return either a path or a string depending on the type' +- source: ' of the argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_dirOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: dir + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: dirOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nPath + scopes: + - variable.camel-case + - variable.other.unknown.nPath +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: dir + scopes: + - variable.lower-case + - variable.other.unknown.dir +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: dir + scopes: + - variable.lower-case + - variable.other.unknown.dir +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_dirOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: dirOf +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the directory part of the string *s*, that is, everything' +- source: ' before the final slash in the string. This is similar to the GNU' +- source: ' `dirname` command.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_dirOf + scopes: + - variable.snake-case + - variable.other.unknown.prim_dirOf +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the contents of a file as a string. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_readFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: readFile + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: npos + scopes: + - variable.lower-case + - variable.other.unknown.npos +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: the contents of the file ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' cannot be represented as a Nix string' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: StorePathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: refs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isInStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: queryPathInfo + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: references + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: should be InvalidPathError' + scopesEnd: + - comment.line.double-slash +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: context + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePathSet + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_readFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __readFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the contents of the file *path* as a string.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_readFile + scopes: + - variable.snake-case + - variable.other.unknown.prim_readFile +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Find a file in the Nix search path. Used to implement paths,' +- source: ' which are desugared to ''findFile __nixPath "x"''. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_findFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: SearchPath + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: searchPath + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: v2 + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.lower-case + - variable.other.unknown.v2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: prefix + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: i + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sPrefix + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '!=' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: prefix + scopes: + - variable.lower-case + - variable.other.unknown.prefix +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: findFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sPath + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: rewrites + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: rewriteStrings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: rewrites + scopes: + - variable.lower-case + - variable.other.unknown.rewrites +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: InvalidPathError + scopes: + - variable.other.unknown.InvalidPathError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: cannot find ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''', since path ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''' is not valid' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: path + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: searchPath + scopes: + - variable.camel-case + - variable.other.object.access.searchPath +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: prefix + scopes: + - variable.lower-case + - variable.other.unknown.prefix +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: findFile + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: searchPath + scopes: + - variable.camel-case + - variable.other.unknown.searchPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_findFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __findFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_findFile + scopes: + - variable.snake-case + - variable.other.unknown.prim_findFile +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the cryptographic hash of a file in base-16. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_hashFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: type + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: HashType + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: ht + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: parseHashType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: ht + scopes: + - variable.lower-case + - variable.other.unknown.ht +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown hash type ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: hashFile + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ht + scopes: + - variable.lower-case + - variable.other.unknown.ht +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: to_string + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Base16 + scopes: + - variable.other.unknown.Base16 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_hashFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __hashFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: type +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: p +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a base-16 representation of the cryptographic hash of the' +- source: ' file at path *p*. The hash algorithm specified by *type* must be one' +- source: ' of `"md5"`, `"sha1"`, `"sha256"` or `"sha512"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_hashFile + scopes: + - variable.snake-case + - variable.other.unknown.prim_hashFile +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Read a directory (without . or ..) ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_readDir + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: DirEntries + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: entries + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: readDirectory + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: entries + scopes: + - variable.lower-case + - variable.other.object.access.entries +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: ent + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: entries + scopes: + - variable.lower-case + - variable.other.unknown.entries + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: DT_UNKNOWN + scopes: + - variable.snake-case + - variable.other.unknown.DT_UNKNOWN +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: getFileType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: DT_REG + scopes: + - variable.snake-case + - variable.other.unknown.DT_REG +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regular +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: DT_DIR + scopes: + - variable.snake-case + - variable.other.unknown.DT_DIR +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: directory +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: ent + scopes: + - variable.lower-case + - variable.other.object.access.ent +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: DT_LNK + scopes: + - variable.snake-case + - variable.other.unknown.DT_LNK +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: symlink +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_readDir + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __readDir +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the contents of the directory *path* as a set mapping' +- source: ' directory entries to the corresponding file type. For instance, if' +- source: ' directory `A` contains a regular file `B` and another directory' +- source: ' `C`, then `builtins.readDir ./A` will return the set' +- source: ' ```nix' +- source: ' { B = "regular"; C = "directory"; }' +- source: ' ```' +- source: ' The possible values for the file type are `"regular"`,' +- source: ' `"directory"`, `"symlink"` and `"unknown"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_readDir + scopes: + - variable.snake-case + - variable.other.unknown.prim_readDir +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Creating files' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument (which can be any Nix expression) to an XML' +- source: ' representation returned in a string. Not all Nix expressions can' +- source: ' be sensibly or completely represented (e.g., functions). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toXML + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostringstream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: out + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: printValueAsXML + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: out + scopes: + - variable.lower-case + - variable.other.object.access.out +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_toXML + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toXML +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a string containing an XML representation of *e*. The main' +- source: ' application for `toXML` is to communicate information with the' +- source: ' builder in a more structured format than plain environment' +- source: ' variables.' +- source: ' Here is an example where this is the case:' +- source: ' ```nix' +- source: ' { stdenv, fetchurl, libxslt, jira, uberwiki }:' +- source: ' stdenv.mkDerivation (rec {' +- source: ' name = "web-server";' +- source: ' buildInputs = [ libxslt ];' +- source: ' builder = builtins.toFile "builder.sh" "' +- source: ' source $stdenv/setup' +- source: ' mkdir $out' +- source: ' echo "$servlets" | xsltproc ${stylesheet} - > $out/server-conf.xml ①' +- source: ' ";' +- source: ' stylesheet = builtins.toFile "stylesheet.xsl" ②' +- source: ' "' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ";' +- source: ' servlets = builtins.toXML [ ③' +- source: ' { path = "/bugtracker"; war = jira + "/lib/atlassian-jira.war"; }' +- source: ' { path = "/wiki"; war = uberwiki + "/uberwiki.war"; }' +- source: ' ];' +- source: ' })' +- source: ' ```' +- source: ' The builder is supposed to generate the configuration file for a' +- source: ' [Jetty servlet container](http://jetty.mortbay.org/). A servlet' +- source: ' container contains a number of servlets (`*.war` files) each' +- source: ' exported under a specific URI prefix. So the servlet configuration' +- source: ' is a list of sets containing the `path` and `war` of the servlet' +- source: ' (①). This kind of information is difficult to communicate with the' +- source: ' normal method of passing information through an environment' +- source: ' variable, which just concatenates everything together into a' +- source: ' string (which might just work in this case, but wouldn’t work if' +- source: ' fields are optional or contain lists themselves). Instead the Nix' +- source: ' expression is converted to an XML representation with `toXML`,' +- source: ' which is unambiguous and can easily be processed with the' +- source: ' appropriate tools. For instance, in the example an XSLT stylesheet' +- source: ' (at point ②) is applied to it (at point ①) to generate the XML' +- source: ' configuration file for the Jetty server. The XML representation' +- source: ' produced at point ③ by `toXML` is as follows:' +- source: ' ```xml' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ```' +- source: ' Note that we used the `toFile` built-in to write the builder and' +- source: ' the stylesheet “inline” in the Nix expression. The path of the' +- source: ' stylesheet is spliced into the builder using the syntax `xsltproc' +- source: ' ${stylesheet}`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_toXML + scopes: + - variable.snake-case + - variable.other.unknown.prim_toXML +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument (which can be any Nix expression) to a JSON' +- source: ' string. Not all Nix expressions can be sensibly or completely' +- source: ' represented (e.g., functions). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostringstream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: out + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: printValueAsJSON + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: out + scopes: + - variable.lower-case + - variable.other.object.access.out +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_toJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toJSON +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a string containing a JSON representation of *e*. Strings,' +- source: ' integers, floats, booleans, nulls and lists are mapped to their JSON' +- source: ' equivalents. Sets (except derivations) are represented as objects.' +- source: ' Derivations are translated to a JSON string containing the' +- source: ' derivation’s output path. Paths are copied to the store and' +- source: ' represented as a JSON string of the resulting store path.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_toJSON + scopes: + - variable.snake-case + - variable.other.unknown.prim_toJSON +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Parse a JSON string to a value. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_fromJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: parseJSON + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: JSONParseError + scopes: + - variable.other.unknown.JSONParseError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while decoding a JSON string +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_fromJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __fromJSON +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Convert a JSON string to a Nix value. For example,' +- source: ' ```nix' +- source: ' builtins.fromJSON ''''{"x": [1, 2, 3], "y": null}''''' +- source: ' ```' +- source: ' returns the value `{ x = [ 1 2 3 ]; y = null; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_fromJSON + scopes: + - variable.snake-case + - variable.other.unknown.prim_fromJSON +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Store a string in the Nix store as a source file that can be used' +- source: ' as an input by derivations. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: name + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: contents + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: StorePathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: refs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.lower-case + - variable.other.object.access.path +- source: . + scopes: + - punctuation.separator.dot-access +- source: at + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: / +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'in ''toFile'': the file named ''' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' must not contain a reference ' +- source: '"' + scopes: + - punctuation.definition.string.end +- source: '"' + scopes: + - punctuation.definition.string.begin +- source: to a derivation but contains ( +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ) +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: refs + scopes: + - variable.lower-case + - variable.other.object.access.refs +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: storePath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: readOnlyMode + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: computeStorePathForText + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: contents + scopes: + - variable.lower-case + - variable.other.unknown.contents +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: addTextToStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: contents + scopes: + - variable.lower-case + - variable.other.unknown.contents +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: repair + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Note: we don''t need to add `context'' to the context of the' +- source: ' result, since `storePath'' itself has references to the paths' +- source: ' used in args[1]. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' Add the output of this to the allowed paths. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allowAndSetStorePathString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_toFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: name +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Store the string *s* in a file in the Nix store and return its' +- source: ' path. The file has suffix *name*. This file can be used as an' +- source: ' input to derivations. One application is to write builders' +- source: ' “inline”. For instance, the following Nix expression combines the' +- source: ' [Nix expression for GNU Hello](expression-syntax.md) and its' +- source: ' [build script](build-script.md) into one file:' +- source: ' ```nix' +- source: ' { stdenv, fetchurl, perl }:' +- source: ' stdenv.mkDerivation {' +- source: ' name = "hello-2.1.1";' +- source: ' builder = builtins.toFile "builder.sh" "' +- source: ' source $stdenv/setup' +- source: ' PATH=$perl/bin:$PATH' +- source: ' tar xvfz $src' +- source: ' cd hello-*' +- source: ' ./configure --prefix=$out' +- source: ' make' +- source: ' make install' +- source: ' ";' +- source: ' src = fetchurl {' +- source: ' url = "http://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz";' +- source: ' sha256 = "1md7jsfd8pa45z73bz1kszpp01yw6x5ljkjk2hx7wl800any6465";' +- source: ' };' +- source: ' inherit perl;' +- source: ' }' +- source: ' ```' +- source: ' It is even possible for one file to refer to another, e.g.,' +- source: ' ```nix' +- source: ' builder = let' +- source: ' configFile = builtins.toFile "foo.conf" "' +- source: ' # This is some dummy configuration file.' +- source: ' ...' +- source: ' ";' +- source: ' in builtins.toFile "builder.sh" "' +- source: ' source $stdenv/setup' +- source: ' ...' +- source: ' cp ${configFile} $out/etc/foo.conf' +- source: ' ";' +- source: ' ```' +- source: ' Note that `${configFile}` is an' +- source: ' [antiquotation](language-values.md), so the result of the' +- source: ' expression `configFile`' +- source: ' (i.e., a path like `/nix/store/m7p7jfny445k...-foo.conf`) will be' +- source: ' spliced into the resulting string.' +- source: ' It is however *not* allowed to have files mutually referring to each' +- source: ' other, like so:' +- source: ' ```nix' +- source: ' let' +- source: ' foo = builtins.toFile "foo" "...${bar}...";' +- source: ' bar = builtins.toFile "bar" "...${foo}...";' +- source: ' in foo' +- source: ' ```' +- source: ' This is not allowed because it would cause a cyclic dependency in' +- source: ' the computation of the cryptographic hashes for `foo` and `bar`.' +- source: ' It is also not possible to reference the result of a derivation. If' +- source: ' you are using Nixpkgs, the `writeTextFile` function is able to do' +- source: ' that.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_toFile + scopes: + - variable.snake-case + - variable.other.unknown.prim_toFile +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: addPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: name + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Path + scopes: + - entity.name.type.parameter +- source: path + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: filterFun + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: FileIngestionMethod + scopes: + - entity.name.type.parameter +- source: method + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: optional + scopes: + - entity.name.type.parameter +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Hash + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call +- source: expectedHash + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PathSet + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: context + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: try + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: handle CA derivation outputs (where path needs to' +- source: // + scopes: + - punctuation.definition.comment +- source: ' be rewritten to the actual output).' + scopesEnd: + - comment.line.double-slash +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: rewrites + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: rewriteStrings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: rewrites + scopes: + - variable.lower-case + - variable.other.unknown.rewrites +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: StorePathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: refs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isInStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: subPath + scopes: + - variable.camel-case + - variable.other.unknown.subPath +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: we should scanForReferences on the path before adding it' + scopesEnd: + - comment.line.double-slash +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: queryPathInfo + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: references + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath + scopes: + - variable.camel-case + - variable.other.unknown.storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: subPath + scopes: + - variable.camel-case + - variable.other.unknown.subPath +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: should be InvalidPathError' + scopesEnd: + - comment.line.double-slash +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: '&&' + scopes: + - keyword.operator.logical +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: '?' + scopes: + - keyword.operator.ternary +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathFilter + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: filter + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: filterFun + scopes: + - variable.camel-case + - variable.other.unknown.filterFun +- source: '?' + scopes: + - keyword.operator.ternary +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: const + scopesBegin: + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Path + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: path + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: st + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: lstat + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Call the filter function. The first argument is the path,' +- source: ' the second is a string indicating the type of the file. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arg1 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: arg1 + scopes: + - variable.lower-case + - variable.other.object.access.arg1 +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arg2 + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: arg2 + scopes: + - variable.lower-case + - variable.other.object.access.arg2 +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: S_ISREG + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: st + scopes: + - variable.lower-case + - variable.other.object.access.st +- source: . + scopes: + - punctuation.separator.dot-access +- source: st_mode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regular +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: S_ISDIR + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: st + scopes: + - variable.lower-case + - variable.other.object.access.st +- source: . + scopes: + - punctuation.separator.dot-access +- source: st_mode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: directory +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: S_ISLNK + scopes: + - entity.name.function.call.upper-case + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: st + scopes: + - variable.lower-case + - variable.other.object.access.st +- source: . + scopes: + - punctuation.separator.dot-access +- source: st_mode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: symlink +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' not supported, will fail! ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: args + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare +- source: '[]' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '&' + scopes: + - keyword.operator.bitwise +- source: arg1 + scopes: + - variable.lower-case + - variable.other.unknown.arg1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '&' + scopes: + - keyword.operator.bitwise +- source: arg2 + scopes: + - variable.lower-case + - variable.other.unknown.arg2 +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.declaration + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: filterFun + scopes: + - variable.camel-case + - variable.other.unknown.filterFun +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ':' + scopes: + - keyword.operator.ternary +- source: defaultPathFilter + scopes: + - variable.camel-case + - variable.other.unknown.defaultPathFilter + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: StorePath + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: expectedStorePath + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: expectedStorePath + scopes: + - variable.camel-case + - variable.other.unknown.expectedStorePath +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: makeFixedOutputPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: '||' + scopesBegin: + - keyword.operator.logical +- source: '!' + scopesEnd: + - keyword.operator.logical +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isValidPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: expectedStorePath + scopes: + - variable.camel-case + - variable.other.unknown.expectedStorePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: StorePath + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: dstPath + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: readOnlyMode + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: computeStorePathForPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: htSHA256 + scopes: + - variable.camel-case + - variable.other.unknown.htSHA256 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: filter + scopes: + - variable.lower-case + - variable.other.unknown.filter +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: addToStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: htSHA256 + scopes: + - variable.camel-case + - variable.other.unknown.htSHA256 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: filter + scopes: + - variable.lower-case + - variable.other.unknown.filter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: repair + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: refs + scopes: + - variable.lower-case + - variable.other.unknown.refs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: '&&' + scopes: + - keyword.operator.logical +- source: expectedStorePath + scopes: + - variable.camel-case + - variable.other.unknown.expectedStorePath +- source: '!=' + scopes: + - keyword.operator.comparison +- source: dstPath + scopes: + - variable.camel-case + - variable.other.unknown.dstPath +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: store path mismatch in (possibly filtered) path added from ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allowAndSetStorePathString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: dstPath + scopes: + - variable.camel-case + - variable.other.unknown.dstPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allowAndSetStorePathString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: expectedStorePath + scopes: + - variable.camel-case + - variable.other.unknown.expectedStorePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Error + scopes: + - variable.other.unknown.Error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while adding path ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_filterSource + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: path + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: nFunction + scopes: + - variable.camel-case + - variable.other.unknown.nFunction +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'first argument in call to ''filterSource'' is not a function but ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: baseNameOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive + scopes: + - variable.other.unknown.Recursive +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt + scopes: + - variable.lower-case + - variable.other.unknown.nullopt +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_filterSource + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __filterSource +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' > **Warning**' +- source: ' >' +- source: ' > `filterSource` should not be used to filter store paths. Since' +- source: ' > `filterSource` uses the name of the input directory while naming' +- source: ' > the output directory, doing so will produce a directory name in' +- source: ' > the form of `--`, where `-` is' +- source: ' > the name of the input directory. Since `` depends on the' +- source: ' > unfiltered directory, the name of the output directory will' +- source: ' > indirectly depend on files that are filtered out by the' +- source: ' > function. This will trigger a rebuild even when a filtered out' +- source: ' > file is changed. Use `builtins.path` instead, which allows' +- source: ' > specifying the name of the output directory.' +- source: ' This function allows you to copy sources into the Nix store while' +- source: ' filtering certain files. For instance, suppose that you want to use' +- source: ' the directory `source-dir` as an input to a Nix expression, e.g.' +- source: ' ```nix' +- source: ' stdenv.mkDerivation {' +- source: ' ...' +- source: ' src = ./source-dir;' +- source: ' }' +- source: ' ```' +- source: ' However, if `source-dir` is a Subversion working copy, then all' +- source: ' those annoying `.svn` subdirectories will also be copied to the' +- source: ' store. Worse, the contents of those directories may change a lot,' +- source: ' causing lots of spurious rebuilds. With `filterSource` you can' +- source: ' filter out the `.svn` directories:' +- source: ' ```nix' +- source: ' src = builtins.filterSource' +- source: ' (path: type: type != "directory" || baseNameOf path != ".svn")' +- source: ' ./source-dir;' +- source: ' ```' +- source: ' Thus, the first argument *e1* must be a predicate function that is' +- source: ' called for each regular file, directory or symlink in the source' +- source: ' tree *e2*. If the function returns `true`, the file is copied to the' +- source: ' Nix store, otherwise it is omitted. The function is called with two' +- source: ' arguments. The first is the full path of the file. The second is a' +- source: ' string that identifies the type of the file, which is either' +- source: ' `"regular"`, `"directory"`, `"symlink"` or `"unknown"` (for other' +- source: ' kinds of files such as device nodes or fifos — but note that those' +- source: ' cannot be copied to the Nix store, so if the predicate returns' +- source: ' `true` for them, the copy will fail). If you exclude a directory,' +- source: ' the entire corresponding subtree of *e2* will be excluded.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_filterSource + scopes: + - variable.snake-case + - variable.other.unknown.prim_filterSource +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_path + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: path + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: name + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: filterFun + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: nullptr + scopes: + - constant.language.nullptr + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: method + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive + scopes: + - variable.other.unknown.Recursive + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Hash + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: expectedHash + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: filter +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: filterFun + scopes: + - variable.camel-case + - variable.other.unknown.filterFun +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: recursive +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: '=' + scopes: + - keyword.operator.assignment +- source: FileIngestionMethod + scopes: + - variable.other.unknown.FileIngestionMethod +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: sha256 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: '=' + scopes: + - keyword.operator.assignment +- source: newHashAllowEmpty + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: htSHA256 + scopes: + - variable.camel-case + - variable.other.unknown.htSHA256 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unsupported argument ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' to ''addPath''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.lower-case + - variable.other.object.access.path +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''path'' required' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: name + scopes: + - variable.lower-case + - variable.other.object.access.name +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '=' + scopes: + - keyword.operator.assignment +- source: baseNameOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: addPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: filterFun + scopes: + - variable.camel-case + - variable.other.unknown.filterFun +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: method + scopes: + - variable.lower-case + - variable.other.unknown.method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: expectedHash + scopes: + - variable.camel-case + - variable.other.unknown.expectedHash +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_path + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: args +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' An enrichment of the built-in path type, based on the attributes' +- source: ' present in *args*. All are optional except `path`:' +- source: ' - path\' +- source: ' The underlying path.' +- source: ' - name\' +- source: ' The name of the path when added to the store. This can used to' +- source: ' reference paths that have nix-illegal characters in their names,' +- source: ' like `@`.' +- source: ' - filter\' +- source: ' A function of the type expected by `builtins.filterSource`,' +- source: ' with the same semantics.' +- source: ' - recursive\' +- source: ' When `false`, when `path` is added to the store it is with a' +- source: ' flat hash, rather than a hash of the NAR serialization of the' +- source: ' file. Thus, `path` must refer to a regular file, not a' +- source: ' directory. This allows similar behavior to `fetchurl`. Defaults' +- source: ' to `true`.' +- source: ' - sha256\' +- source: ' When provided, this is the expected hash of the file at the' +- source: ' path. Evaluation will fail if the hash is incorrect, and' +- source: ' providing a hash allows `builtins.path` to be used even when the' +- source: ' `pure-eval` nix config option is on.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_path + scopes: + - variable.snake-case + - variable.other.unknown.prim_path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Sets' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the names of the attributes in a set as a sorted list of' +- source: ' strings. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_attrNames + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbolTable + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: size_t + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: staticId + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_static +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.assignment + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: dynamicId + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_dynamic +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.assignment + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: nix + scopesBegin: + - meta.parens.control.for + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Attr + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbol + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: symbolTable + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: symbol + scopes: + - variable.lower-case + - variable.other.unknown.symbol +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '==' + scopes: + - keyword.operator.comparison +- source: staticId + scopes: + - variable.camel-case + - variable.other.unknown.staticId +- source: '||' + scopes: + - keyword.operator.logical +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '==' + scopes: + - keyword.operator.comparison +- source: dynamicId + scopes: + - variable.camel-case + - variable.other.unknown.dynamicId +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: Value + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v1 + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v2 + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: return + scopes: + - keyword.control.return +- source: strcmp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v1 + scopes: + - variable.lower-case + - variable.other.object.access.v1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_attrNames + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __attrNames +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the names of the attributes in the set *set* in an' +- source: ' alphabetically sorted list. For instance, `builtins.attrNames { y' +- source: ' = 1; x = "foo"; }` evaluates to `[ "x" "y" ]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_attrNames + scopes: + - variable.snake-case + - variable.other.unknown.prim_attrNames +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the values of the attributes in a set as a list, in the same' +- source: ' order as attrNames. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_attrValues + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.assignment + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbolTable + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: staticId + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_static +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.assignment + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: dynamicId + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_dynamic +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.assignment + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: nix + scopesBegin: + - meta.parens.control.for + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Attr + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbol + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: symbolTable + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: symbol + scopes: + - variable.lower-case + - variable.other.unknown.symbol +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '==' + scopes: + - keyword.operator.comparison +- source: staticId + scopes: + - variable.camel-case + - variable.other.unknown.staticId +- source: '||' + scopes: + - keyword.operator.logical +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '==' + scopes: + - keyword.operator.comparison +- source: dynamicId + scopes: + - variable.camel-case + - variable.other.unknown.dynamicId +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Value + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '&' + scopes: + - keyword.operator.bitwise +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: Value + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v1 + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v2 + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: std + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string_view + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: s1 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Attr + scopes: + - variable.other.unknown.Attr +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v1 + scopes: + - variable.lower-case + - variable.other.unknown.v1 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: s2 + scopes: + - variable.lower-case + - variable.other.unknown.s2 +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Attr + scopes: + - variable.other.unknown.Attr +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v2 + scopes: + - variable.lower-case + - variable.other.unknown.v2 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: s1 + scopes: + - variable.lower-case + - variable.other.unknown.s1 +- source: < + scopes: + - keyword.operator.comparison +- source: s2 + scopes: + - variable.lower-case + - variable.other.unknown.s2 +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: Attr + scopes: + - variable.other.unknown.Attr +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_attrValues + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __attrValues +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the values of the attributes in the set *set* in the order' +- source: ' corresponding to the sorted attribute names.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_attrValues + scopes: + - variable.snake-case + - variable.other.unknown.prim_attrValues +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Dynamic version of the `.'' operator. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_getAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: i + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: getAttr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' !!! add to stack trace?' + scopesEnd: + - comment.line.double-slash +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: countCalls + scopes: + - variable.other.property +- source: '&&' + scopes: + - keyword.operator.logical +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: attrSelects + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_getAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __getAttr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' `getAttr` returns the attribute named *s* from *set*. Evaluation' +- source: ' aborts if the attribute doesn’t exist. This is a dynamic version of' +- source: ' the `.` operator, since *s* is an expression rather than an' +- source: ' identifier.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_getAttr + scopes: + - variable.snake-case + - variable.other.unknown.prim_getAttr +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return position information of the specified attribute. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_unsafeGetAttrPos + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: i + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '==' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkPos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_unsafeGetAttrPos + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __unsafeGetAttrPos +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_unsafeGetAttrPos + scopes: + - variable.snake-case + - variable.other.unknown.prim_unsafeGetAttrPos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Dynamic version of the `?'' operator. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_hasAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attr + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.lower-case + - variable.other.unknown.attr +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_hasAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __hasAttr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' `hasAttr` returns `true` if *set* has an attribute named *s*, and' +- source: ' `false` otherwise. This is a dynamic version of the `?` operator,' +- source: ' since *s* is an expression rather than an identifier.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_hasAttr + scopes: + - variable.snake-case + - variable.other.unknown.prim_hasAttr +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nAttrs + scopes: + - variable.camel-case + - variable.other.unknown.nAttrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a set, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isAttrs + scopes: + - variable.snake-case + - variable.other.unknown.prim_isAttrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_removeAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get the attribute names to be removed.' +- source: ' We keep them as Attrs instead of Symbols so std::set_difference' +- source: ' can be used to remove them from attrs[0]. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: boost + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: container + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small_vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Attr + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: '64' + scopes: + - constant.numeric.decimal +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: names + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: names + scopes: + - variable.lower-case + - variable.other.object.access.names +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: names + scopes: + - variable.lower-case + - variable.other.object.access.names +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: elem + scopes: + - variable.lower-case + - variable.other.object.access.elem +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: nullptr + scopes: + - constant.language.nullptr +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: names + scopes: + - variable.lower-case + - variable.other.object.access.names +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: names + scopes: + - variable.lower-case + - variable.other.object.access.names +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Copy all attributes not in that set. Note that we don''t need' +- source: ' to sort v.attrs because it''s a subset of an already sorted' +- source: ' vector. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: set_difference + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: names + scopes: + - variable.lower-case + - variable.other.object.access.names +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: names + scopes: + - variable.lower-case + - variable.other.object.access.names +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: back_inserter + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_removeAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: removeAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Remove the attributes listed in *list* from *set*. The attributes' +- source: ' don’t have to exist in *set*. For instance,' +- source: ' ```nix' +- source: ' removeAttrs { x = 1; y = 2; z = 3; } [ "a" "x" "z" ]' +- source: ' ```' +- source: ' evaluates to `{ y = 2; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_removeAttrs + scopes: + - variable.snake-case + - variable.other.unknown.prim_removeAttrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Builds a set from a list specifying (name, value) pairs. To be' +- source: ' precise, a list [{name = "name1"; value = value1;} ... {name =' +- source: ' "nameN"; value = valueN;}] is transformed to {name1 = value1;' +- source: ' ... nameN = valueN;}. In case of duplicate occurrences of the same' +- source: ' name, the first takes precedence. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_listToAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: set + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Symbol + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: seen + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: v2 + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.lower-case + - variable.other.unknown.v2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: j + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: listToAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: j + scopes: + - variable.lower-case + - variable.other.object.access.j +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j + scopes: + - variable.lower-case + - variable.other.object.access.j +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sym + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: seen + scopes: + - variable.lower-case + - variable.other.object.access.seen +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: j2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: listToAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sValue + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j2 + scopes: + - variable.lower-case + - variable.other.object.access.j2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j2 + scopes: + - variable.lower-case + - variable.other.object.access.j2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_listToAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __listToAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Construct a set from a list specifying the names and values of each' +- source: ' attribute. Each element of the list should be a set consisting of a' +- source: ' string-valued attribute `name` specifying the name of the attribute,' +- source: ' and an attribute `value` specifying its value. Example:' +- source: ' ```nix' +- source: ' builtins.listToAttrs' +- source: ' [ { name = "foo"; value = 123; }' +- source: ' { name = "bar"; value = 456; }' +- source: ' ]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```nix' +- source: ' { foo = 123; bar = 456; }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_listToAttrs + scopes: + - variable.snake-case + - variable.other.unknown.prim_listToAttrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_intersectAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: min + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: j + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_intersectAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __intersectAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a set consisting of the attributes in the set *e2* that also' +- source: ' exist in the set *e1*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_intersectAttrs + scopes: + - variable.snake-case + - variable.other.unknown.prim_intersectAttrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_catAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrName + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.declaration + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.assignment + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: found + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: v2 + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.lower-case + - variable.other.unknown.v2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: i + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrName + scopes: + - variable.camel-case + - variable.other.unknown.attrName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '!=' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.lower-case + - variable.other.object.access.v2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: res + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: found + scopes: + - variable.lower-case + - variable.other.unknown.found +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: found + scopes: + - variable.lower-case + - variable.other.unknown.found +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: found + scopes: + - variable.lower-case + - variable.other.unknown.found +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: res + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_catAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __catAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Collect each attribute named *attr* from a list of attribute' +- source: ' sets. Attrsets that don''t contain the named attribute are' +- source: ' ignored. For example,' +- source: ' ```nix' +- source: ' builtins.catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]' +- source: ' ```' +- source: ' evaluates to `[1 2]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_catAttrs + scopes: + - variable.snake-case + - variable.other.unknown.prim_catAttrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_functionArgs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isPrimOpApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isPrimOp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: emptyBindings + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isLambda + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''functionArgs'' requires a function' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lambda + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: hasFormals + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: emptyBindings + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lambda + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lambda + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' !!! should optimise booleans (allocate only once)' + scopesEnd: + - comment.line.double-slash +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: def + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_functionArgs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __functionArgs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a set containing the names of the formal arguments expected' +- source: ' by the function *f*. The value of each attribute is a Boolean' +- source: ' denoting whether the corresponding argument has a default value. For' +- source: ' instance, `functionArgs ({ x, y ? 123}: ...) = { x = false; y =' +- source: ' true; }`.' +- source: ' "Formal argument" here refers to the attributes pattern-matched by' +- source: ' the function. Plain lambdas are not included, e.g. `functionArgs (x:' +- source: ' ...) = { }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_functionArgs + scopes: + - variable.snake-case + - variable.other.unknown.prim_functionArgs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_mapAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vName + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vFun2 + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: vName + scopes: + - variable.camel-case + - variable.other.object.access.vName +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: vFun2 + scopes: + - variable.camel-case + - variable.other.object.access.vFun2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vName + scopes: + - variable.camel-case + - variable.other.unknown.vName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vFun2 + scopes: + - variable.camel-case + - variable.other.unknown.vFun2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_mapAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __mapAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attrset +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Apply function *f* to every element of *attrset*. For example,' +- source: ' ```nix' +- source: ' builtins.mapAttrs (name: value: value * 10) { a = 1; b = 2; }' +- source: ' ```' +- source: ' evaluates to `{ a = 10; b = 20; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_mapAttrs + scopes: + - variable.snake-case + - variable.other.unknown.prim_mapAttrs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_zipAttrsWith + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: // + scopesBegin: + - meta.body.function.definition + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' we will first count how many values are present for each given key.' +- source: // + scopes: + - punctuation.definition.comment +- source: ' we then allocate a single attrset and pre-populate it with lists of' +- source: // + scopes: + - punctuation.definition.comment +- source: ' appropriate sizes, stash the pointers to the list elements of each,' +- source: // + scopes: + - punctuation.definition.comment +- source: ' and populate the lists. after that we replace the list in the every' +- source: // + scopes: + - punctuation.definition.comment +- source: ' attribute with the merge function application. this way we need not' +- source: // + scopes: + - punctuation.definition.comment +- source: ' use (slightly slower) temporary storage the GC does not know about.' + scopesEnd: + - comment.line.double-slash +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: map + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Symbol + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: pair + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: size_t + scopes: + - storage.type + - storage.type.built-in +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: Value + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopesBegin: + - keyword.operator.arithmetic +- source: '*' + scopesEnd: + - keyword.operator.arithmetic +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: attrsSeen + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: listSize + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: listElems + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: listSize + scopes: + - variable.camel-case + - variable.other.unknown.listSize +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vElem + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: listElems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: noPos + scopes: + - variable.camel-case + - variable.other.unknown.noPos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.object.access.vElem +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: attrsSeen + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: TypeError + scopes: + - variable.other.unknown.TypeError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while invoking ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: zipAttrsWith +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrsSeen + scopes: + - variable.camel-case + - variable.other.object.access.attrsSeen +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: sym + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: attrsSeen + scopes: + - variable.camel-case + - variable.other.unknown.attrsSeen + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: list + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: list + scopes: + - variable.lower-case + - variable.other.unknown.list +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.lower-case + - variable.other.object.access.elem +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: elem + scopes: + - variable.lower-case + - variable.other.object.access.elem +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: list + scopes: + - variable.lower-case + - variable.other.object.access.list +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: listSize + scopes: + - variable.camel-case + - variable.other.unknown.listSize +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vElem + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: listElems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.object.access.vElem +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attrsSeen + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ++ + scopes: + - keyword.operator.increment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: name + scopes: + - variable.lower-case + - variable.other.object.access.name +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: call1 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: call1 + scopes: + - variable.lower-case + - variable.other.object.access.call1 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: call2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: call2 + scopes: + - variable.lower-case + - variable.other.object.access.call2 +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: call1 + scopes: + - variable.lower-case + - variable.other.unknown.call1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attr + scopes: + - variable.lower-case + - variable.other.object.access.attr +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: call2 + scopes: + - variable.lower-case + - variable.other.unknown.call2 +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_zipAttrsWith + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __zipAttrsWith +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Transpose a list of attribute sets into an attribute set of lists,' +- source: ' then apply `mapAttrs`.' +- source: ' `f` receives two arguments: the attribute name and a non-empty' +- source: ' list of all values encountered for that attribute name.' +- source: ' The result is an attribute set where the attribute names are the' +- source: ' union of the attribute names in each element of `list`. The attribute' +- source: ' values are the return values of `f`.' +- source: ' ```nix' +- source: ' builtins.zipAttrsWith' +- source: ' (name: values: { inherit name values; })' +- source: ' [ { a = "x"; } { a = "y"; b = "z"; } ]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```' +- source: ' {' +- source: ' a = { name = "a"; values = [ "x" "y" ]; };' +- source: ' b = { name = "b"; values = [ "z" ]; };' +- source: ' }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_zipAttrsWith + scopes: + - variable.snake-case + - variable.other.unknown.prim_zipAttrsWith +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Lists' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nList + scopes: + - variable.camel-case + - variable.other.unknown.nList +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_isList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isList +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a list, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_isList + scopes: + - variable.snake-case + - variable.other.unknown.prim_isList +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elemAt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: list + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: list + scopes: + - variable.lower-case + - variable.other.unknown.list +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: '||' + scopes: + - keyword.operator.logical +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '>=' + scopes: + - keyword.operator.comparison +- source: list + scopes: + - variable.lower-case + - variable.other.object.access.list +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'list index ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ' is out of bounds' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: list + scopes: + - variable.lower-case + - variable.other.object.access.list +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: list + scopes: + - variable.lower-case + - variable.other.object.access.list +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the n-1''th element of a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_elemAt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: elemAt + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_elemAt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __elemAt +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: xs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'n' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return element *n* from the list *xs*. Elements are counted starting' +- source: ' from 0. A fatal error occurs if the index is out of bounds.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_elemAt + scopes: + - variable.snake-case + - variable.other.unknown.prim_elemAt +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the first element of a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_head + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: elemAt + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '0' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_head + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __head +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the first element of a list; abort evaluation if the argument' +- source: ' isn’t a list or is an empty list. You can test whether a list is' +- source: ' empty by comparing it with `[]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_head + scopes: + - variable.snake-case + - variable.other.unknown.prim_head +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return a list consisting of everything but the first element of' +- source: ' a list. Warning: this function takes O(n) time, so you probably' +- source: ' don''t want to use it! ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_tail + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''tail'' called on an empty list' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_tail + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __tail +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the second to last elements of a list; abort evaluation if' +- source: ' the argument isn’t a list or is an empty list.' +- source: ' > **Warning**' +- source: ' >' +- source: ' > This function should generally be avoided since it''s inefficient:' +- source: ' > unlike Haskell''s `tail`, it takes O(n) time, so recursing over a' +- source: ' > list by repeatedly calling `tail` takes O(n^2) time.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_tail + scopes: + - variable.snake-case + - variable.other.unknown.prim_tail +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Apply a function to every element of a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_map + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_map + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: map +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Apply the function *f* to each element in the list *list*. For' +- source: ' example,' +- source: ' ```nix' +- source: ' map (x: "foo" + x) [ "bar" "bla" "abc" ]' +- source: ' ```' +- source: ' evaluates to `[ "foobar" "foobla" "fooabc" ]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_map + scopes: + - variable.snake-case + - variable.other.unknown.prim_map +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Filter a list using a predicate; that is, return a list containing' +- source: ' every element from the list for which the predicate function' +- source: ' returns true. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_filter + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: putting this on the stack is risky.' + scopesEnd: + - comment.line.double-slash +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.declaration + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.assignment + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: k + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: same + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'true' + scopes: + - constant.language.true + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: noPos + scopes: + - variable.camel-case + - variable.other.unknown.noPos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: vs + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: k + scopes: + - variable.lower-case + - variable.other.unknown.k +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: same + scopes: + - variable.lower-case + - variable.other.unknown.same +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: same + scopes: + - variable.lower-case + - variable.other.unknown.same +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: k + scopes: + - variable.lower-case + - variable.other.unknown.k +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: k + scopes: + - variable.lower-case + - variable.other.unknown.k +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: vs + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_filter + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __filter +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a list consisting of the elements of *list* for which the' +- source: ' function *f* returns `true`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_filter + scopes: + - variable.snake-case + - variable.other.unknown.prim_filter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return true if a list contains a given element. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_elem + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: bool + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: res + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'false' + scopes: + - constant.language.false + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: eqValues + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_elem + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __elem +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: x +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: xs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if a value equal to *x* occurs in the list *xs*, and' +- source: ' `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_elem + scopes: + - variable.snake-case + - variable.other.unknown.prim_elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Concatenate a list of lists. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_concatLists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: concatLists + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_concatLists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __concatLists +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: lists +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Concatenate a list of lists into a single list.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_concatLists + scopes: + - variable.snake-case + - variable.other.unknown.prim_concatLists +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the length of a list. This is an O(1) time operation. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_length + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_length + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __length +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the length of the list *e*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_length + scopes: + - variable.snake-case + - variable.other.unknown.prim_length +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Reduce a list by applying a binary operator, from left to' +- source: ' right. The operator is applied strictly. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_foldlStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vCur + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: 'n' + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: enumerate + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare +- source: '[]' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: vCur + scopes: + - variable.camel-case + - variable.other.unknown.vCur +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.declaration + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: vCur + scopes: + - variable.camel-case + - variable.other.unknown.vCur +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '==' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: '?' + scopes: + - keyword.operator.ternary +- source: '&' + scopes: + - keyword.operator.bitwise +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vs + scopes: + - variable.lower-case + - variable.other.unknown.vs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vCur + scopes: + - variable.camel-case + - variable.other.unknown.vCur +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_foldlStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __foldl' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: op +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: nul +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Reduce a list by applying a binary operator, from left to right,' +- source: ' e.g. `foldl'' op nul [x0 x1 x2 ...] = op (op (op nul x0) x1) x2)' +- source: ' ...`. The operator is applied strictly, i.e., its arguments are' +- source: ' evaluated first. For example, `foldl'' (x: y: x + y) 0 [1 2 3]`' +- source: ' evaluates to 6.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_foldlStrict + scopes: + - variable.snake-case + - variable.other.unknown.prim_foldlStrict +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: anyOrAll + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: bool + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: any + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: EvalState + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: vTmp + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vTmp + scopes: + - variable.camel-case + - variable.other.unknown.vTmp +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: res + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vTmp + scopes: + - variable.camel-case + - variable.other.unknown.vTmp +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: '==' + scopes: + - keyword.operator.comparison +- source: any + scopes: + - variable.lower-case + - variable.other.unknown.any +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: any + scopes: + - variable.lower-case + - variable.other.unknown.any +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '!' + scopes: + - keyword.operator.logical +- source: any + scopes: + - variable.lower-case + - variable.other.unknown.any +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_any + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: anyOrAll + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_any + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __any +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: pred +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the function *pred* returns `true` for at least one' +- source: ' element of *list*, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_any + scopes: + - variable.snake-case + - variable.other.unknown.prim_any +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_all + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: anyOrAll + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_all + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __all +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: pred +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the function *pred* returns `true` for all elements' +- source: ' of *list*, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_all + scopes: + - variable.snake-case + - variable.other.unknown.prim_all +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_genList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'cannot create list of size ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: arg + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: arg + scopes: + - variable.lower-case + - variable.other.object.access.arg +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: arg + scopes: + - variable.lower-case + - variable.other.unknown.arg +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_genList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __genList +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: generator +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: length +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Generate list of size *length*, with each element *i* equal to the' +- source: ' value returned by *generator* `i`. For example,' +- source: ' ```nix' +- source: ' builtins.genList (x: x * x) 5' +- source: ' ```' +- source: ' returns the list `[ 0 1 4 9 16 ]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_genList + scopes: + - variable.snake-case + - variable.other.unknown.prim_genList +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_lessThan + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_sort + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: comparator + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: Value + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: a + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: b + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Optimization: if the comparator is lessThan, bypass' +- source: ' callFunction. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isPrimOp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fun + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: prim_lessThan + scopes: + - variable.snake-case + - variable.other.unknown.prim_lessThan +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: CompareValues + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vs + scopes: + - variable.lower-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: a + scopes: + - variable.lower-case + - variable.other.unknown.a +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: b + scopes: + - variable.lower-case + - variable.other.unknown.b +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: vBool + scopes: + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vs + scopes: + - variable.lower-case + - variable.other.unknown.vs +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vBool + scopes: + - variable.camel-case + - variable.other.unknown.vBool +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vBool + scopes: + - variable.camel-case + - variable.other.unknown.vBool +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.assignment + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' FIXME: std::sort can segfault if the comparator is not a strict' +- source: ' weak ordering. What to do? std::stable_sort() seems more' +- source: ' resilient, but no guarantees... ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: stable_sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: comparator + scopes: + - variable.lower-case + - variable.other.unknown.comparator +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_sort + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __sort +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: comparator +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return *list* in sorted order. It repeatedly calls the function' +- source: ' *comparator* with two elements. The comparator should return `true`' +- source: ' if the first element is less than the second, and `false` otherwise.' +- source: ' For example,' +- source: ' ```nix' +- source: ' builtins.sort builtins.lessThan [ 483 249 526 147 42 77 ]' +- source: ' ```' +- source: ' produces the list `[ 42 77 147 249 483 526 ]`.' +- source: ' This is a stable sort: it preserves the relative order of elements' +- source: ' deemed equal by the comparator.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_sort + scopes: + - variable.snake-case + - variable.other.unknown.prim_sort +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_partition + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueVector + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: right + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: wrong + scopes: + - variable.lower-case + - variable.other.unknown.wrong + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vElem + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: right + scopes: + - variable.lower-case + - variable.other.object.access.right +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: wrong + scopes: + - variable.lower-case + - variable.other.object.access.wrong +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: vRight + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sRight + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: rsize + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: right + scopes: + - variable.lower-case + - variable.other.object.access.right +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vRight + scopes: + - variable.camel-case + - variable.other.unknown.vRight +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: rsize + scopes: + - variable.lower-case + - variable.other.unknown.rsize +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: rsize + scopes: + - variable.lower-case + - variable.other.unknown.rsize +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: vRight + scopes: + - variable.camel-case + - variable.other.object.access.vRight +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: right + scopes: + - variable.lower-case + - variable.other.object.access.right +- source: . + scopes: + - punctuation.separator.dot-access +- source: data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: Value + scopesBegin: + - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: rsize + scopes: + - variable.lower-case + - variable.other.unknown.rsize +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: vWrong + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sWrong + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: wsize + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: wrong + scopes: + - variable.lower-case + - variable.other.object.access.wrong +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vWrong + scopes: + - variable.camel-case + - variable.other.unknown.vWrong +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: wsize + scopes: + - variable.lower-case + - variable.other.unknown.wsize +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: wsize + scopes: + - variable.lower-case + - variable.other.unknown.wsize +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: vWrong + scopes: + - variable.camel-case + - variable.other.object.access.vWrong +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: wrong + scopes: + - variable.lower-case + - variable.other.object.access.wrong +- source: . + scopes: + - punctuation.separator.dot-access +- source: data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: Value + scopesBegin: + - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: wsize + scopes: + - variable.lower-case + - variable.other.unknown.wsize +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_partition + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __partition +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: pred +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Given a predicate function *pred*, this function returns an' +- source: ' attrset containing a list named `right`, containing the elements' +- source: ' in *list* for which *pred* returned `true`, and a list named' +- source: ' `wrong`, containing the elements for which it returned' +- source: ' `false`. For example,' +- source: ' ```nix' +- source: ' builtins.partition (x: x > 10) [1 23 9 3 42]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```nix' +- source: ' { right = [ 23 42 ]; wrong = [ 1 9 3 ]; }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_partition + scopes: + - variable.snake-case + - variable.other.unknown.prim_partition +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_groupBy + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueVectorMap + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: attrs + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vElem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sym + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vector + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: try_emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym + scopes: + - variable.lower-case + - variable.other.unknown.sym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ValueVector + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: vector + scopes: + - variable.lower-case + - variable.other.object.access.vector +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - meta.assignment + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: list + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: attrs2 + scopes: + - variable.lower-case + - variable.other.object.access.attrs2 +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: size + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: list + scopes: + - variable.lower-case + - variable.other.unknown.list +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: list + scopes: + - variable.lower-case + - variable.other.object.access.list +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: Value + scopesBegin: + - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: size + scopes: + - variable.lower-case + - variable.other.unknown.size +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs2 + scopes: + - variable.lower-case + - variable.other.object.access.attrs2 +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_groupBy + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __groupBy +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Groups elements of *list* together by the string returned from the' +- source: ' function *f* called on each element. It returns an attribute set' +- source: ' where each attribute value contains the elements of *list* that are' +- source: ' mapped to the same corresponding attribute name returned by *f*.' +- source: ' For example,' +- source: ' ```nix' +- source: ' builtins.groupBy (builtins.substring 0 1) ["foo" "bar" "baz"]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```nix' +- source: ' { b = [ "bar" "baz" ]; f = [ "foo" ]; }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_groupBy + scopes: + - variable.snake-case + - variable.other.unknown.prim_groupBy +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_concatMap + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: nrLists + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: lists + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: nrLists + scopes: + - variable.camel-case + - variable.other.unknown.nrLists +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.declaration + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: size_t + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: nrLists + scopes: + - variable.camel-case + - variable.other.unknown.nrLists +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vElem + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.assignment + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.camel-case + - variable.other.unknown.vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: TypeError + scopes: + - variable.other.unknown.TypeError +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while invoking ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: concatMap +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: += + scopes: + - keyword.operator.assignment.compound +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: out + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: < + scopes: + - keyword.operator.comparison +- source: nrLists + scopes: + - variable.camel-case + - variable.other.unknown.nrLists +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: l + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: l + scopes: + - variable.lower-case + - variable.other.unknown.l +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: out + scopes: + - variable.lower-case + - variable.other.unknown.out +- source: + + scopes: + - keyword.operator.arithmetic +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: l + scopes: + - variable.lower-case + - variable.other.unknown.l +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: Value + scopesBegin: + - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: += + scopes: + - keyword.operator.assignment.compound +- source: l + scopes: + - variable.lower-case + - variable.other.unknown.l +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_concatMap + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __concatMap +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' This function is equivalent to `builtins.concatLists (map f list)`' +- source: ' but is more efficient.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_concatMap + scopes: + - variable.snake-case + - variable.other.unknown.prim_concatMap +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Integer arithmetic' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_add + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_add + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __add +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the sum of the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_add + scopes: + - variable.snake-case + - variable.other.unknown.prim_add +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_sub + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_sub + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __sub +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the difference between the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_sub + scopes: + - variable.snake-case + - variable.other.unknown.prim_sub +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_mul + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_mul + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __mul +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the product of the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_mul + scopes: + - variable.snake-case + - variable.other.unknown.prim_mul +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_div + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: NixFloat + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: f2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: f2 + scopes: + - variable.lower-case + - variable.other.unknown.f2 +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: division by zero +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: nFloat + scopes: + - variable.camel-case + - variable.other.unknown.nFloat +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: / + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: NixInt + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: i1 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: NixInt + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - entity.name.type +- source: i2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Avoid division overflow as it might raise SIGFPE. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i1 + scopes: + - variable.lower-case + - variable.other.unknown.i1 +- source: '==' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: numeric_limits + scopes: + - entity.name.scope-resolution.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: NixInt + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: min + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '&&' + scopes: + - keyword.operator.logical +- source: i2 + scopes: + - variable.lower-case + - variable.other.unknown.i2 +- source: '==' + scopes: + - keyword.operator.comparison +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: overflow in integer division +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i1 + scopes: + - variable.lower-case + - variable.other.unknown.i1 +- source: / + scopes: + - keyword.operator.arithmetic +- source: i2 + scopes: + - variable.lower-case + - variable.other.unknown.i2 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_div + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __div +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the quotient of the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_div + scopes: + - variable.snake-case + - variable.other.unknown.prim_div +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_bitAnd + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_bitAnd + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __bitAnd +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the bitwise AND of the integers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_bitAnd + scopes: + - variable.snake-case + - variable.other.unknown.prim_bitAnd +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_bitOr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '|' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_bitOr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __bitOr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the bitwise OR of the integers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_bitOr + scopes: + - variable.snake-case + - variable.other.unknown.prim_bitOr +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_bitXor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ^ + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_bitXor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __bitXor +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the bitwise XOR of the integers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_bitXor + scopes: + - variable.snake-case + - variable.other.unknown.prim_bitXor +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_lessThan + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: CompareValues + scopes: + - meta.qualified-type + - entity.name.type +- source: comp + scopes: + - variable.lower-case + - variable.other.object.construction +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.lower-case + - variable.other.unknown.state +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: comp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_lessThan + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __lessThan +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the number *e1* is less than the number *e2*, and' +- source: ' `false` otherwise. Evaluation aborts if either *e1* or *e2* does not' +- source: ' evaluate to a number.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_lessThan + scopes: + - variable.snake-case + - variable.other.unknown.prim_lessThan +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * String manipulation' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument to a string. Paths are *not*' +- source: ' copied to the' +- source: ' store, so `toString /foo/bar'' yields `"/foo/bar"'', not' +- source: ' `"/nix/store/whatever..."''. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_toString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: toString +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Convert the expression *e* to a string. *e* can be:' +- source: ' - A string (in which case the string is returned unmodified).' +- source: ' - A path (e.g., `toString /foo/bar` yields `"/foo/bar"`.' +- source: ' - A set containing `{ __toString = self: ...; }` or `{ outPath = ...; }`.' +- source: ' - An integer.' +- source: ' - A list, in which case the string representations of its elements' +- source: ' are joined with spaces.' +- source: ' - A Boolean (`false` yields `""`, `true` yields `"1"`).' +- source: ' - `null`, which yields the empty string.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_toString + scopes: + - variable.snake-case + - variable.other.unknown.prim_toString +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' `substring start len str'' returns the substring of `str'' starting' +- source: ' at character position `min(start, stringLength str)'' inclusive and' +- source: ' ending at `min(start + len, stringLength str)''. `start'' must be' +- source: ' non-negative. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_substring + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: int + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: start + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: negative start position in 'substring' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start +- source: '>=' + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: substr + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: start + scopes: + - variable.lower-case + - variable.other.unknown.start +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_substring + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __substring +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: start +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: len +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the substring of *s* from character position *start*' +- source: ' (zero-based) up to but not including *start + len*. If *start* is' +- source: ' greater than the length of the string, an empty string is returned,' +- source: ' and if *start + len* lies beyond the end of the string, only the' +- source: ' substring up to the end of the string is returned. *start* must be' +- source: ' non-negative. For example,' +- source: ' ```nix' +- source: ' builtins.substring 0 3 "nixos"' +- source: ' ```' +- source: ' evaluates to `"nix"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_substring + scopes: + - variable.snake-case + - variable.other.unknown.prim_substring +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_stringLength + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_stringLength + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __stringLength +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the length of the string *e*. If *e* is not a string,' +- source: ' evaluation is aborted.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_stringLength + scopes: + - variable.snake-case + - variable.other.unknown.prim_stringLength +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the cryptographic hash of a string in base-16. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_hashString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: type + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.assignment + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: HashType + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: ht + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: parseHashType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: ht + scopes: + - variable.lower-case + - variable.other.unknown.ht +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown hash type ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: type + scopes: + - variable.lower-case + - variable.other.unknown.type +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' discarded' + scopesEnd: + - comment.line.double-slash +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: hashString + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ht + scopes: + - variable.lower-case + - variable.other.unknown.ht +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: to_string + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Base16 + scopes: + - variable.other.unknown.Base16 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_hashString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __hashString +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: type +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a base-16 representation of the cryptographic hash of string' +- source: ' *s*. The hash algorithm specified by *type* must be one of `"md5"`,' +- source: ' `"sha1"`, `"sha256"` or `"sha512"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_hashString + scopes: + - variable.snake-case + - variable.other.unknown.prim_hashString +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: RegexCache + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: // + scopesBegin: + - meta.body.struct + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' TODO use C++20 transparent comparison when available' + scopesEnd: + - comment.line.double-slash +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: unordered_map + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string_view + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: regex + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: cache + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: list + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: keys + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.function.definition + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: get + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: std + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: re + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: it + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: cache + scopes: + - variable.lower-case + - variable.other.object.access.cache +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: it + scopes: + - variable.lower-case + - variable.other.unknown.it +- source: '!=' + scopes: + - keyword.operator.comparison +- source: cache + scopes: + - variable.lower-case + - variable.other.object.access.cache +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: it + scopes: + - variable.lower-case + - variable.other.object.access.it +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: keys + scopes: + - variable.lower-case + - variable.other.object.access.keys +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: cache + scopes: + - variable.lower-case + - variable.other.object.access.cache +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: keys + scopes: + - variable.lower-case + - variable.other.object.access.keys +- source: . + scopes: + - punctuation.separator.dot-access +- source: back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: keys + scopes: + - variable.lower-case + - variable.other.object.access.keys +- source: . + scopes: + - punctuation.separator.dot-access +- source: back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: extended + scopes: + - variable.lower-case + - variable.other.unknown.extended +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: std + scopesBegin: + - meta.function.definition + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: shared_ptr + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: RegexCache + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: makeRegexCache + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_shared + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: RegexCache + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_match + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: re + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: regex + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: regexCache + scopes: + - variable.camel-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: str + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cmatch + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: match + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: regex_match + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: str + scopes: + - variable.lower-case + - variable.other.object.access.str +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: str + scopes: + - variable.lower-case + - variable.other.object.access.str +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: match + scopes: + - variable.lower-case + - variable.other.unknown.match +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: regex + scopes: + - variable.lower-case + - variable.other.unknown.regex +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' the first match is the whole string' + scopesEnd: + - comment.line.double-slash +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: size_t + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: match + scopes: + - variable.lower-case + - variable.other.object.access.match +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: matched + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex_error + scopes: + - variable.snake-case + - variable.other.unknown.regex_error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: code + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex_constants + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: error_space + scopes: + - variable.snake-case + - variable.other.unknown.error_space +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++' + scopesEnd: + - comment.line.double-slash +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: memory limit exceeded by regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_match + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __match +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regex +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: str +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw.s + - punctuation.definition.string.s.begin + scopes: + - meta.encoding +- source: '"s(' + scopesEnd: + - punctuation.definition.string.s.begin +- source: ' Returns a list if the [extended POSIX regular' +- source: ' expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)' +- source: ' *regex* matches *str* precisely, otherwise returns `null`. Each item' +- source: ' in the list is a regex group.' +- source: ' ```nix' +- source: ' builtins.match "ab" "abc"' +- source: ' ```' +- source: ' Evaluates to `null`.' +- source: ' ```nix' +- source: ' builtins.match "abc" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ ]`.' +- source: ' ```nix' +- source: ' builtins.match "a(b)(c)" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "b" "c" ]`.' +- source: ' ```nix' +- source: ' builtins.match "[[:space:]]+([[:upper:]]+)[[:space:]]+" " FOO "' +- source: ' ```' +- source: ' Evaluates to `[ "FOO" ]`.' +- source: )s" + scopes: + - punctuation.definition.string.s.end + scopesEnd: + - string.quoted.double.raw.s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_match + scopes: + - variable.snake-case + - variable.other.unknown.prim_match +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Split a string with a regular expression, and return a list of the' +- source: ' non-matching parts interleaved by the lists of the matching groups. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_split + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: re + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: regex + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: regexCache + scopes: + - variable.camel-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: str + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: begin + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cregex_iterator + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: str + scopes: + - variable.lower-case + - variable.other.object.access.str +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: str + scopes: + - variable.lower-case + - variable.other.object.access.str +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: regex + scopes: + - variable.lower-case + - variable.other.unknown.regex +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: end + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cregex_iterator + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Any matches results are surrounded by non-matching results.' + scopesEnd: + - comment.line.double-slash +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: size_t + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: len + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: distance + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: begin + scopes: + - variable.lower-case + - variable.other.unknown.begin +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: end + scopes: + - variable.lower-case + - variable.other.unknown.end +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: size_t + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: idx + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: begin + scopes: + - variable.lower-case + - variable.other.unknown.begin +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '!=' + scopes: + - keyword.operator.comparison +- source: end + scopes: + - variable.lower-case + - variable.other.unknown.end +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: assert + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: <= + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '3' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: match + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Add a string for non-matched characters.' + scopesEnd: + - comment.line.double-slash +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopes: + - variable.lower-case + - variable.other.object.access.match +- source: . + scopes: + - punctuation.separator.dot-access +- source: prefix + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Add a list for matched substrings.' + scopesEnd: + - comment.line.double-slash +- source: const + scopesBegin: + - meta.assignment + scopes: + - storage.modifier.specifier.const +- source: size_t + scopes: + - meta.qualified-type + - storage.type + - storage.type.built-in +- source: slen + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: match + scopes: + - variable.lower-case + - variable.other.object.access.match +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Start at 1, beacause the first match is the whole string.' + scopesEnd: + - comment.line.double-slash +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: slen + scopes: + - variable.lower-case + - variable.other.unknown.slen +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si +- source: < + scopes: + - keyword.operator.comparison +- source: slen + scopes: + - variable.lower-case + - variable.other.unknown.slen +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: matched + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: elem + scopes: + - variable.lower-case + - variable.other.object.access.elem +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: elem + scopes: + - variable.lower-case + - variable.other.object.access.elem +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: si + scopes: + - variable.lower-case + - variable.other.unknown.si +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Add a string for non-matched suffix characters.' + scopesEnd: + - comment.line.double-slash +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: '==' + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopes: + - variable.lower-case + - variable.other.object.access.match +- source: . + scopes: + - punctuation.separator.dot-access +- source: suffix + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: assert + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: idx + scopes: + - variable.lower-case + - variable.other.unknown.idx +- source: '==' + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: len + scopes: + - variable.lower-case + - variable.other.unknown.len +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex_error + scopes: + - variable.snake-case + - variable.other.unknown.regex_error +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e + scopes: + - variable.lower-case + - variable.other.unknown.e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: e + scopes: + - variable.lower-case + - variable.other.object.access.e +- source: . + scopes: + - punctuation.separator.dot-access +- source: code + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex_constants + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: error_space + scopes: + - variable.snake-case + - variable.other.unknown.error_space +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++' + scopesEnd: + - comment.line.double-slash +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: memory limit exceeded by regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: re + scopes: + - variable.lower-case + - variable.other.unknown.re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_split + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __split +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regex +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: str +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw.s + - punctuation.definition.string.s.begin + scopes: + - meta.encoding +- source: '"s(' + scopesEnd: + - punctuation.definition.string.s.begin +- source: ' Returns a list composed of non matched strings interleaved with the' +- source: ' lists of the [extended POSIX regular' +- source: ' expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)' +- source: ' *regex* matches of *str*. Each item in the lists of matched' +- source: ' sequences is a regex group.' +- source: ' ```nix' +- source: ' builtins.split "(a)b" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "" [ "a" ] "c" ]`.' +- source: ' ```nix' +- source: ' builtins.split "([ac])" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "" [ "a" ] "b" [ "c" ] "" ]`.' +- source: ' ```nix' +- source: ' builtins.split "(a)|(c)" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "" [ "a" null ] "b" [ null "c" ] "" ]`.' +- source: ' ```nix' +- source: ' builtins.split "([[:upper:]]+)" " FOO "' +- source: ' ```' +- source: ' Evaluates to `[ " " [ "FOO" ] " " ]`.' +- source: )s" + scopes: + - punctuation.definition.string.s.end + scopesEnd: + - string.quoted.double.raw.s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_split + scopes: + - variable.snake-case + - variable.other.unknown.prim_split +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_concatStringsSep + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sep + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.lower-case + - variable.other.object.access.res +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: '32' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: sep + scopes: + - variable.lower-case + - variable.other.object.access.sep +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: first + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'true' + scopes: + - constant.language.true + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: first + scopes: + - variable.lower-case + - variable.other.unknown.first +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: += + scopes: + - keyword.operator.assignment.compound +- source: sep + scopes: + - variable.lower-case + - variable.other.unknown.sep +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: += + scopes: + - keyword.operator.assignment.compound +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_concatStringsSep + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __concatStringsSep +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: separator +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Concatenate a list of strings with a separator between each' +- source: ' element, e.g. `concatStringsSep "/" ["usr" "local" "bin"] ==' +- source: ' "usr/local/bin"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_concatStringsSep + scopes: + - variable.snake-case + - variable.other.unknown.prim_concatStringsSep +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_replaceStrings + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: msg + scopes: + - variable.lower-case + - variable.other.unknown.msg +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''from'' and ''to'' arguments to ''replaceStrings'' have different lengths' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: errPos + scopes: + - variable.camel-case + - variable.other.unknown.errPos +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: from + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: from + scopes: + - variable.lower-case + - variable.other.object.access.from +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: from + scopes: + - variable.lower-case + - variable.other.object.access.from +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: pair + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified-type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: PathSet + scopes: + - meta.qualified-type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call +- source: to + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: to + scopes: + - variable.lower-case + - variable.other.object.access.to +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: ctx + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem + scopes: + - variable.lower-case + - variable.other.unknown.elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: to + scopes: + - variable.lower-case + - variable.other.object.access.to +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s + scopes: + - variable.lower-case + - variable.other.unknown.s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ctx + scopes: + - variable.lower-case + - variable.other.unknown.ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: PathSet + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: context + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.declaration + - meta.qualified-type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified-type +- source: res + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Loops one past last character to handle the case where ''from'' contains an empty string.' + scopesEnd: + - comment.line.double-slash +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: <= + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: bool + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: found + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: 'false' + scopes: + - constant.language.false + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: from + scopes: + - variable.lower-case + - variable.other.object.access.from +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: j + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: to + scopes: + - variable.lower-case + - variable.other.object.access.to +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ; + scopesBegin: + - meta.parens.control.for + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '!=' + scopes: + - keyword.operator.comparison +- source: from + scopes: + - variable.lower-case + - variable.other.object.access.from +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ++ + scopes: + - keyword.operator.increment +- source: j + scopes: + - variable.lower-case + - variable.other.unknown.j + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: compare + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: found + scopes: + - variable.lower-case + - variable.other.unknown.found +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: += + scopes: + - keyword.operator.assignment.compound +- source: j + scopes: + - variable.lower-case + - variable.other.object.access.j +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: first + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: < + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: += + scopes: + - keyword.operator.assignment.compound +- source: s + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: += + scopes: + - keyword.operator.assignment.compound +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: path + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: j + scopes: + - variable.lower-case + - variable.other.object.access.j +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: context + scopes: + - variable.lower-case + - variable.other.object.access.context +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path + scopes: + - variable.lower-case + - variable.other.unknown.path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: j + scopes: + - variable.lower-case + - variable.other.object.access.j +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: clear + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: found + scopes: + - variable.lower-case + - variable.other.unknown.found +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: < + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.lower-case + - variable.other.object.access.s +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: += + scopes: + - keyword.operator.assignment.compound +- source: s + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: p + scopes: + - variable.lower-case + - variable.other.unknown.p +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res + scopes: + - variable.lower-case + - variable.other.unknown.res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: context + scopes: + - variable.lower-case + - variable.other.unknown.context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_replaceStrings + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __replaceStrings +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: from +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: to +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Given string *s*, replace every occurrence of the strings in *from*' +- source: ' with the corresponding string in *to*. For example,' +- source: ' ```nix' +- source: ' builtins.replaceStrings ["oo" "a"] ["a" "i"] "foobar"' +- source: ' ```' +- source: ' evaluates to `"fabir"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_replaceStrings + scopes: + - variable.snake-case + - variable.other.unknown.prim_replaceStrings +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Versions' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_parseDrvName + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: DrvName + scopes: + - meta.qualified-type + - entity.name.type +- source: parsed + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: parsed + scopes: + - variable.lower-case + - variable.other.object.access.parsed +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: version +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: parsed + scopes: + - variable.lower-case + - variable.other.object.access.parsed +- source: . + scopes: + - punctuation.separator.dot-access +- source: version + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_parseDrvName + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __parseDrvName +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Split the string *s* into a package name and version. The package' +- source: ' name is everything up to but not including the first dash followed' +- source: ' by a digit, and the version is everything following that dash. The' +- source: ' result is returned in a set `{ name, version }`. Thus,' +- source: ' `builtins.parseDrvName "nix-0.12pre12876"` returns `{ name =' +- source: ' "nix"; version = "0.12pre12876"; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_parseDrvName + scopes: + - variable.snake-case + - variable.other.unknown.prim_parseDrvName +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_compareVersions + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: version1 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: version2 + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: compareVersions + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: version1 + scopes: + - variable.lower-case + - variable.other.unknown.version1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: version2 + scopes: + - variable.lower-case + - variable.other.unknown.version2 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_compareVersions + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __compareVersions +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Compare two strings representing versions and return `-1` if' +- source: ' version *s1* is older than version *s2*, `0` if they are the same,' +- source: ' and `1` if *s1* is newer than *s2*. The version comparison' +- source: ' algorithm is the same as the one used by [`nix-env' +- source: ' -u`](../command-ref/nix-env.md#operation---upgrade).' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_compareVersions + scopes: + - variable.snake-case + - variable.other.unknown.prim_compareVersions +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_splitVersion + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: version + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: pos + scopes: + - variable.lower-case + - variable.other.unknown.pos +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: iter + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: version + scopes: + - variable.lower-case + - variable.other.object.access.version +- source: . + scopes: + - punctuation.separator.dot-access +- source: cbegin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: Strings + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: components + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: iter + scopes: + - variable.lower-case + - variable.other.unknown.iter +- source: '!=' + scopes: + - keyword.operator.comparison +- source: version + scopes: + - variable.lower-case + - variable.other.object.access.version +- source: . + scopes: + - punctuation.separator.dot-access +- source: cend + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: component + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: nextComponent + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: iter + scopes: + - variable.lower-case + - variable.other.unknown.iter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: version + scopes: + - variable.lower-case + - variable.other.object.access.version +- source: . + scopes: + - punctuation.separator.dot-access +- source: cend + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: component + scopes: + - variable.lower-case + - variable.other.object.access.component +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: components + scopes: + - variable.lower-case + - variable.other.object.access.components +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: component + scopes: + - variable.lower-case + - variable.other.unknown.component +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: components + scopes: + - variable.lower-case + - variable.other.object.access.components +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: const + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: 'n' + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: component + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: enumerate + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: components + scopes: + - variable.lower-case + - variable.other.unknown.components +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.lower-case + - variable.other.object.access.state +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: component + scopes: + - variable.lower-case + - variable.other.unknown.component +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified-type + - entity.name.type +- source: primop_splitVersion + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __splitVersion +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Split a string representing a version into its components, by the' +- source: ' same version splitting logic underlying the version comparison in' +- source: ' [`nix-env -u`](../command-ref/nix-env.md#operation---upgrade).' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: prim_splitVersion + scopes: + - variable.snake-case + - variable.other.unknown.prim_splitVersion +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Primop registration' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: PrimOps + scopes: + - variable.other.unknown.PrimOps +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps +- source: ; + scopes: + - punctuation.terminator.statement +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: RegisterPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopesBegin: + - variable.lower-case + scopes: + - variable.other.unknown.string +- source: name + scopes: + - variable.other.unknown.name + scopesEnd: + - variable.lower-case +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: size_t + scopes: + - storage.type + - storage.type.built-in +- source: arity + scopes: + - variable.lower-case + - variable.other.unknown.arity +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: PrimOpFun + scopes: + - variable.other.unknown.PrimOpFun +- source: fun + scopes: + - variable.lower-case + - variable.other.unknown.fun +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps +- source: '=' + scopes: + - keyword.operator.assignment +- source: new + scopes: + - keyword.operator.wordlike + - keyword.operator.new +- source: PrimOps + scopes: + - variable.other.unknown.PrimOps +- source: ; + scopes: + - punctuation.terminator.statement +- source: primOps + scopes: + - variable.camel-case + - variable.other.object.access.primOps +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '{' +- source: ' .' +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '=' + scopes: + - keyword.operator.assignment +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: arity + scopes: + - variable.lower-case + - variable.other.unknown.arity +- source: '=' + scopes: + - keyword.operator.assignment +- source: arity + scopes: + - variable.lower-case + - variable.other.unknown.arity +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.lower-case + - variable.other.unknown.fun +- source: '=' + scopes: + - keyword.operator.assignment +- source: fun + scopes: + - variable.lower-case + - variable.other.unknown.fun +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: RegisterPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Info + scopes: + - variable.other.unknown.Info +- source: '&&' + scopes: + - keyword.operator.logical +- source: info + scopes: + - variable.lower-case + - variable.other.unknown.info +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps +- source: '=' + scopes: + - keyword.operator.assignment +- source: new + scopes: + - keyword.operator.wordlike + - keyword.operator.new +- source: PrimOps + scopes: + - variable.other.unknown.PrimOps +- source: ; + scopes: + - punctuation.terminator.statement +- source: primOps + scopes: + - variable.camel-case + - variable.other.object.access.primOps +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: info + scopes: + - variable.lower-case + - variable.other.unknown.info +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: EvalState + scopes: + - entity.name.scope-resolution.function.definition +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.definition +- source: createBaseEnv + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: baseEnv + scopesBegin: + - meta.body.function.definition + scopes: + - variable.camel-case + - variable.other.object.access.baseEnv +- source: . + scopes: + - punctuation.separator.dot-access +- source: up + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add global constants such as `true'' to the base environment. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Value + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: v + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' `builtins'' must be first! ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: buildBindings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '128' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: finish + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: builtins +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'true' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'false' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'null' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: time + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __currentTime +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: thisSystem + scopes: + - variable.camel-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __currentSystem +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: nixVersion + scopes: + - variable.camel-case + - variable.other.unknown.nixVersion +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __nixVersion +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: store + scopes: + - variable.lower-case + - variable.other.object.access.store +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: storeDir + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __storeDir +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Language version. This should be increased every time a new' +- source: ' language feature gets added. It''s not necessary to increase it' +- source: ' when primops get added, because you can just use `builtins ?' +- source: ' primOp'' to check. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '6' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __langVersion +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Miscellaneous' + scopesEnd: + - comment.line.double-slash +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: evalSettings + scopes: + - variable.camel-case + - variable.other.object.access.evalSettings +- source: . + scopes: + - punctuation.separator.dot-access +- source: enableNativeCode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: addPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __importNative +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: prim_importNative + scopes: + - variable.snake-case + - variable.other.unknown.prim_importNative +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: addPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __exec +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: prim_exec + scopes: + - variable.snake-case + - variable.other.unknown.prim_exec +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add a value containing the current Nix expression search path. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: mkList + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: searchPath + scopes: + - variable.camel-case + - variable.other.object.access.searchPath +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: '0' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: searchPath + scopes: + - variable.camel-case + - variable.other.unknown.searchPath + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: buildBindings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.access.attrs +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: prefix +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.lower-case + - variable.other.object.access.i +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.lower-case + - variable.other.object.access.v +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' + scopes: + - variable.lower-case + - variable.other.unknown.n +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: allocValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.lower-case + - variable.other.unknown.attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __nixPath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.lower-case + - variable.other.unknown.v +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: primOp + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: primOps + scopes: + - variable.camel-case + - variable.other.unknown.primOps + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: experimentalFeature + scopes: + - variable.other.property +- source: '||' + scopes: + - keyword.operator.logical +- source: settings + scopes: + - variable.lower-case + - variable.other.object.access.settings +- source: . + scopes: + - punctuation.separator.dot-access +- source: isExperimentalFeatureEnabled + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: experimentalFeature + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: addPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .' +- source: fun + scopes: + - variable.lower-case + - variable.other.unknown.fun +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: arity + scopes: + - variable.lower-case + - variable.other.unknown.arity +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: max + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: args + scopes: + - variable.lower-case + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: arity + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: name + scopes: + - variable.lower-case + - variable.other.unknown.name +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.lower-case + - variable.other.unknown.args +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: args + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.lower-case + - variable.other.unknown.doc +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.camel-case + - variable.other.object.access.primOp +- source: . + scopes: + - punctuation.separator.dot-access +- source: doc + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add a wrapper around the derivation primop that computes the' +- source: ' `drvPath'' and `outPath'' attributes lazily. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: sDerivationNix + scopes: + - variable.camel-case + - variable.other.unknown.sDerivationNix +- source: '=' + scopes: + - keyword.operator.assignment +- source: symbols + scopes: + - variable.lower-case + - variable.other.object.access.symbols +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: derivationNixPath + scopes: + - variable.camel-case + - variable.other.unknown.derivationNixPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopesBegin: + - meta.assignment + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vDerivation + scopesBegin: + - meta.assignment + scopes: + - variable.camel-case + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment + scopesEnd: + - meta.assignment +- source: allocValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vDerivation + scopes: + - variable.camel-case + - variable.other.unknown.vDerivation +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Now that we''ve added all primops, sort the `builtins'' set,' +- source: ' because attribute lookups expect it to be sorted. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: baseEnv + scopes: + - variable.camel-case + - variable.other.object.access.baseEnv +- source: . + scopes: + - punctuation.separator.dot-access +- source: values + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.lower-case + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: sort + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: staticBaseEnv + scopes: + - variable.camel-case + - variable.other.object.access.staticBaseEnv +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: sort + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Note: we have to initialize the ''derivation'' constant *after*' +- source: ' building baseEnv/staticBaseEnv because it uses ''builtins''. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: char + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: code + scopes: + - variable.lower-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: primops/derivation.nix.gen.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' the parser needs two NUL bytes as terminators; one of them' +- source: // + scopes: + - punctuation.definition.comment +- source: ' is implied by being a C string.' + scopesEnd: + - comment.line.double-slash +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \0 + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: eval + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: parse + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: code + scopes: + - variable.lower-case + - variable.other.unknown.code +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: code + scopes: + - meta.arguments.operator.sizeof + - variable.lower-case + - variable.other.unknown.code +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: foFile + scopes: + - variable.camel-case + - variable.other.unknown.foFile +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: derivationNixPath + scopes: + - variable.camel-case + - variable.other.unknown.derivationNixPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: staticBaseEnv + scopes: + - variable.camel-case + - variable.other.unknown.staticBaseEnv +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vDerivation + scopes: + - variable.camel-case + - variable.other.unknown.vDerivation +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.namespace diff --git a/language_examples/raw_strings.spec.yaml b/language_examples/raw_strings.spec.yaml index e1545c7c..114e1e20 100644 --- a/language_examples/raw_strings.spec.yaml +++ b/language_examples/raw_strings.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -30,7 +30,10 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' vertexShader' +- source: vertexShader + scopes: + - variable.camel-case + - variable.other.unknown.vertexShader - source: '{' scopesBegin: - meta.block @@ -38,13 +41,13 @@ - punctuation.section.block.begin.bracket.curly - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.glsl + - punctuation.definition.string.glsl.begin scopes: - meta.encoding - source: '"glsl(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.glsl.begin - source: ' precision highp float;' - source: ' attribute vec2 vPosition;' - source: ' attribute vec3 textureCoord;' @@ -56,9 +59,9 @@ - source: ' }' - source: )glsl" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.glsl.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.glsl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -74,7 +77,10 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' sqlQuery' +- source: sqlQuery + scopes: + - variable.camel-case + - variable.other.unknown.sqlQuery - source: '{' scopesBegin: - meta.block @@ -82,19 +88,19 @@ - punctuation.section.block.begin.bracket.curly - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.sql + - punctuation.definition.string.sql.begin scopes: - meta.encoding - source: '"sql(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.sql.begin - source: ' select a, b, c from someTable where a > 10 order by a asc' - source: )sql" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.sql.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.sql - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -110,7 +116,10 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' regexExpression' +- source: regexExpression + scopes: + - variable.camel-case + - variable.other.unknown.regexExpression - source: '{' scopesBegin: - meta.block @@ -118,19 +127,19 @@ - punctuation.section.block.begin.bracket.curly - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.re + - punctuation.definition.string.re.begin scopes: - meta.encoding - source: '"re(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.re.begin - source: ' ((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\()' - source: )re" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.re.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.re - source: '}' scopes: - punctuation.section.block.end.bracket.curly diff --git a/language_examples/test.spec.yaml b/language_examples/test.spec.yaml index 844b7596..c76e919c 100644 --- a/language_examples/test.spec.yaml +++ b/language_examples/test.spec.yaml @@ -17,6 +17,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr + scopes: + - variable.lower-case + - variable.other.unknown.stderr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -38,7 +41,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' num_candidate' +- source: num_candidate + scopes: + - variable.snake-case + - variable.other.unknown.num_candidate - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54,10 +60,15 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i' +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -68,10 +79,16 @@ scopes: - punctuation.terminator.statement - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: num_candidate + scopes: + - variable.snake-case + - variable.other.unknown.num_candidate - source: ; scopes: - punctuation.terminator.statement @@ -79,6 +96,11 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -91,6 +113,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr + scopes: + - variable.lower-case + - variable.other.unknown.stderr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -120,6 +145,9 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.lower-case + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -138,6 +166,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr + scopes: + - variable.lower-case + - variable.other.unknown.stderr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -170,7 +201,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -205,10 +236,12 @@ scopesBegin: - meta.body.function.definition scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -223,16 +256,22 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement - source: LOG_INFO scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'obj ' + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case +- source: obj + scopes: + - variable.lower-case + - variable.other.unknown.obj - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -252,7 +291,8 @@ - keyword.operator.bitwise.shift - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access @@ -276,6 +316,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -287,7 +328,19 @@ - source: ' everything from this point on is interpeted as a string literal...' scopesEnd: - comment.line.double-slash -- source: ' O x' +- source: O + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: x + scopes: + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -299,13 +352,25 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: unique_ptr + scopesBegin: + - meta.qualified-type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: O + scopes: + - meta.qualified-type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified-type + - meta.template.call - source: o scopes: - entity.name.function.call @@ -316,7 +381,10 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' O' +- source: O + scopes: + - variable.upper-case + - variable.other.unknown.O - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -338,6 +406,9 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: options + scopes: + - variable.lower-case + - variable.other.unknown.options - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -376,7 +447,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main2 diff --git a/language_examples/theme_demo.spec.yaml b/language_examples/theme_demo.spec.yaml index 9c5f3a40..94a3ddee 100644 --- a/language_examples/theme_demo.spec.yaml +++ b/language_examples/theme_demo.spec.yaml @@ -20,7 +20,10 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -127,6 +130,7 @@ - storage.modifier.specifier.functional.pre-parameters.inline - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: f @@ -145,7 +149,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -161,7 +165,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -205,13 +209,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 0x scopes: - keyword.other.unit.hexadecimal @@ -220,18 +233,31 @@ - constant.numeric.hexadecimal - source: yards scopes: + - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - keyword.other.unit.octal @@ -254,18 +280,21 @@ - punctuation.separator.constant.numeric - source: '4' scopesEnd: + - meta.assignment - constant.numeric.octal - source: ; scopes: - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -278,12 +307,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -296,12 +327,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -314,12 +347,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -340,7 +375,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -411,7 +446,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -482,7 +517,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -553,7 +588,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -664,7 +699,7 @@ - meta.tail.enum - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -773,13 +808,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a_lambda ' +- source: a_lambda + scopesBegin: + - meta.assignment + scopes: + - variable.snake-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -849,7 +894,10 @@ - meta.function.definition.body.lambda scopes: - punctuation.section.block.begin.bracket.curly.lambda -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -871,6 +919,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -884,13 +933,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing ' +- source: thing + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: aFunction scopes: - entity.name.function.call @@ -914,9 +973,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/theme_demo1.spec.yaml b/language_examples/theme_demo1.spec.yaml index b1f0a071..9f1fd99c 100644 --- a/language_examples/theme_demo1.spec.yaml +++ b/language_examples/theme_demo1.spec.yaml @@ -38,7 +38,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: thing @@ -122,7 +122,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -169,9 +169,12 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -209,7 +212,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -282,7 +285,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -323,7 +329,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'c ' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: '>' scopes: - keyword.operator.comparison @@ -340,7 +349,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -391,7 +403,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'c ' +- source: c + scopes: + - variable.lower-case + - variable.other.unknown.c - source: '>' scopes: - keyword.operator.comparison @@ -408,7 +423,10 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/theme_demo2.spec.yaml b/language_examples/theme_demo2.spec.yaml index 97dc3e0e..78bf9e25 100644 --- a/language_examples/theme_demo2.spec.yaml +++ b/language_examples/theme_demo2.spec.yaml @@ -20,7 +20,10 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -101,7 +104,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func1 scopesBegin: @@ -166,7 +169,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func2 scopesBegin: @@ -231,7 +234,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func3 scopesBegin: @@ -296,7 +299,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func4 scopesBegin: @@ -361,7 +364,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -432,7 +435,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -503,7 +506,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -574,7 +577,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -645,7 +648,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -694,12 +697,14 @@ - comment.line.double-slash - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -712,12 +717,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -730,7 +737,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -748,7 +756,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -883,7 +892,7 @@ - storage.modifier.inline - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -969,7 +978,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.lower-case + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -980,7 +992,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.lower-case + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1016,7 +1031,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.lower-case + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -1027,7 +1045,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.lower-case + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1063,7 +1084,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.lower-case + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -1074,7 +1098,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.lower-case + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1112,7 +1139,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.lower-case + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -1123,7 +1153,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.lower-case + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1140,7 +1173,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -1249,13 +1282,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing ' +- source: thing + scopesBegin: + - meta.assignment + scopes: + - variable.lower-case + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: aFunction scopes: - entity.name.function.call @@ -1279,9 +1322,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.lower-case + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/main/main.rb b/main/main.rb index d635758f..62ebfc2e 100644 --- a/main/main.rb +++ b/main/main.rb @@ -68,6 +68,17 @@ match: /\=/, tag_as: "keyword.operator.assignment", ) + assignment_operators = oneOf([ + Pattern.new( + match: /(?:%=|\+=|-=|\*=|(?>=|\|=)/, + tag_as: "keyword.operator.assignment.compound.bitwise" + ), + assignment_operator, + ]) array_brackets = Pattern.new( match: /\[/, tag_as: "punctuation.definition.begin.bracket.square" @@ -178,6 +189,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :constructor_root, :destructor_root, :function_definition, + :simple_array_assignment, :operator_overload, :using_namespace, :type_alias, @@ -222,6 +234,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # this shouldn't be in $initial_context (it will eventually be removed), and it shouldn't really be in function body either :evaluation_context, ) + [ + :over_qualified_types, + :normal_variable_assignment, + :normal_variable_declaration, # functions can exclusively contain theses: # TODO: fill out all of the statements here, variable declares, assignment, etc # control flow @@ -251,6 +266,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :the_this_keyword, :language_constants, # types, modifiers, and specifiers + :constructor_bracket_call, + :simple_constructor_call, + :simple_array_assignment, :builtin_storage_type_initilizer, # needs to be above storage types :qualifiers_and_specifiers_post_parameters, # TODO this needs to be integrated into the function definition pattern :functional_specifiers_pre_parameters, # TODO: these probably need to be moved inside the function definition pattern @@ -265,6 +283,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # :empty_square_brackets, (see https://github.com/jeff-hykin/better-cpp-syntax/pull/380#issuecomment-542491824) :semicolon, :comma, + :unknown_variable, ] grammar[:function_parameter_context] = [ :ever_present_context, # comments and macros @@ -280,7 +299,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ] grammar[:template_call_context] = [ :ever_present_context, - :template_call_range, + :template_call_range_helper, :storage_types, :language_constants, :scope_resolution_template_call_inner_generated, @@ -325,6 +344,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: *doxygen(variable_name), *grammar[:comments] ] + # # Constants # @@ -373,7 +393,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: variableBounds[ @cpp_tokens.that(:isFunctionSpecifier) ], tag_as: "storage.modifier.specifier.functional.pre-parameters.$match" ) - grammar[:qualifiers_and_specifiers_post_parameters] = Pattern.new( + grammar[:qualifiers_and_specifiers_post_parameters_inline] = Pattern.new( should_partially_match: ["final override;", "const noexcept {"], match: oneOrMoreOf(std_space.then( Pattern.new( @@ -381,7 +401,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: should_not_fully_match: ["const noexcept"], should_not_partial_match: ["return"], tag_as: "storage.modifier.specifier.functional.post-parameters.$match", - match: variableBounds[ @cpp_tokens.that(:canAppearAfterParametersBeforeBody) ], + match: variableBounds[ @cpp_tokens.that(:canAppearAfterParametersBeforeBody, not(:isFunctionLike)) ], ) )).lookAheadFor( Pattern.new(/\s*/).then( @@ -395,6 +415,16 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) ) ) + grammar[:qualifiers_and_specifiers_post_parameters] = [ + functionCallGenerator[ + repository_name: "requires_keyword", + match_name: variableBounds[/requires/], + tag_name_as: "keyword.other.functionlike keyword.other.requires", + tag_content_as: "arguments.requires", + tag_parenthese_as: "requires" + ], + grammar[:qualifiers_and_specifiers_post_parameters_inline], + ] grammar[:storage_specifiers] = storage_specifier = Pattern.new( std_space.then( match: variableBounds[ @cpp_tokens.that(:isStorageSpecifier) ], @@ -504,7 +534,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ).then( match: /:/, tag_as: "punctuation.separator.label", - ) + ).lookAheadToAvoid(/:/) ) grammar[:default_statement] = PatternRange.new( tag_as: "meta.conditional.case", @@ -546,7 +576,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /\)/, tag_as: 'punctuation.section.parens.end.bracket.round.conditional.switch' ), - includes: [ :evaluation_context, ] + includes: [ :range_for_inner, :evaluation_context, ] ) grammar[:switch_statement] = generateBlockFinder( name: "switch", @@ -591,6 +621,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: includes: [ :attributes_context, :string_context, + :ever_present_context, ], ), Pattern.new(match: /using/, tag_as: "keyword.other.using.directive").then(@spaces).then( @@ -605,6 +636,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ), Pattern.new(match: variable_name, tag_as: "entity.other.attribute.$match"), :number_literal, + :ever_present_context, ] ) end @@ -681,20 +713,36 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: 'meta.template.call', # to match the characters in the middle of a template call match: some_number_of_angle_brackets.zeroOrMoreOf(match: /\s/, dont_back_track?: true), - includes: [ :template_call_range ] + includes: [ :template_call_range_helper ] ) grammar[:template_call_range] = PatternRange.new( - tag_as: 'meta.template.call', - start_pattern: Pattern.new( - match: //, + tag_as: "punctuation.section.angle-brackets.end.template.call" + ), + includes: [:template_call_context] + ) + # What does this helper do? it prevents template_call_range from incorrectly matching " 1 << 2" as a template call by having a pattern that matches the "1 <<" part first + grammar[:template_call_range_helper] = [ + Pattern.new( + @word_boundary.then(grammar[:number_literal]).then(std_space).then( + match:/</, - tag_as: "punctuation.section.angle-brackets.end.template.call" + ), + Pattern.new( + @word_boundary.then(grammar[:number_literal]).then(std_space).then( + match:/(tag_name) do + Pattern.new( + tag_as: "variable.lower-case #{tag_name}", + match: /\b[a-z0-9]+\b/, + ).or( + tag_as: "variable.snake-case #{tag_name}", + match: /\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\b/, + ).or( + tag_as: "variable.camel-case #{tag_name}", + match: /\b[a-z]+[A-Z][a-zA-Z0-9]*\b/, + ).or( + tag_as: "variable.upper-case #{tag_name}", + match: /\b[A-Z][A-Z_0-9]*\b/, + ).or( + tag_as: "variable.other.unknown.$match", + match: variable_name, + ) + end + grammar[:constructor_bracket_call] = Pattern.new( + constructor_call_base.then(std_space).then( + generateVariableVariations["variable.other.object.construction"], + ).then(std_space).lookAheadFor(/\{/) + ) + grammar[:simple_constructor_call] = Pattern.new( + constructor_call_base.lookAheadFor( + std_space.lookAheadFor(variable_name.lookAheadFor(std_space.lookAheadFor(/(?:\{|\()/))) + ) + ) + grammar[:simple_array_assignment] = Pattern.new( + qualified_type.maybe(ref_deref[]).then(std_space).then( + generateVariableVariations["variable.other.assignment"], + ).then( + match: /\[/, + tag_as: "punctuation.definition.begin.bracket.square.array.type", + ).then( + match: / */, + ).then( + match: /\]/, + tag_as: "punctuation.definition.end.bracket.square.array.type", + ).then(std_space).then( + assignment_operators + ) + ) + + grammar[:unknown_variable] = generateVariableVariations["variable.other.unknown.$match"] + normal_type_pattern = maybe(declaration_storage_specifiers.then(std_space)).then(qualified_type.maybe(ref_deref[])) + # normal variable assignment + grammar[:variable_assignment] = Pattern.new( + tag_as: "meta.assignment", + match: Pattern.new( + normal_type_pattern.then(std_space).then( + generateVariableVariations["variable.other.assignment"], + ).then(std_space).then( + assignment_operators + ) + ) + ) + grammar[:variable_declare] = Pattern.new( + tag_as: "meta.declaration", + match: Pattern.new( + normal_type_pattern.then(std_space).then( + generateVariableVariations["variable.other.declare"], + ).then(std_space).lookAheadFor(/;|,|\[/).lookAheadToAvoid(/[^=]++=/) + ) + ) + grammar[:normal_variable_assignment] = PatternRange.new( + tag_as: "meta.assignment", + start_pattern: Pattern.new( + Pattern.new(/^/).then(std_space).then( + grammar[:variable_assignment] + ) + ), + end_pattern: lookAheadFor(/;/), + includes: [ + :normal_variable_assignment, + :variable_assignment, + :$initial_context, + ], + ) + # TODO: + # missing binding assignments + # missing array declarations + # missing initalizer forms ( Thing somthin(); Thing somethin{};) + grammar[:normal_variable_declaration] = PatternRange.new( + tag_as: "meta.declaration", + start_pattern: Pattern.new( + Pattern.new(/^/).then(std_space).then( + grammar[:variable_declare] + ) + ), + end_pattern: lookAheadFor(/;/), + includes: [ + :normal_variable_assignment, + :variable_assignment, + :$initial_context, + ], + ) # TODO: create a :type that includes inline function-pointer types and array types grammar[:simple_type] = qualified_type.maybe(ref_deref[]) grammar[:type_alias] = Pattern.new( @@ -1070,7 +1218,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # # Functions, Operator Overload # - optional_calling_convention = std_space.maybe( + optional_calling_convention = maybe( match: /__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall/, tag_as: "storage.type.modifier.calling-convention" ).then(std_space) @@ -1172,7 +1320,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as:"meta.function.definition.special.operator-overload", start_pattern: Pattern.new( # find the return type (if there is one) - maybe(grammar[:simple_type].then(std_space)).then(optional_calling_convention).then( + std_space.maybe(grammar[:simple_type].then(std_space)).then(optional_calling_convention).then( std_space ).then( inline_scope_resolution[".operator"] @@ -1180,6 +1328,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /operator/, tag_as: "keyword.other.operator.overload", # find any scope resolutions + ).maybe( + std_space.then( + tag_as: "storage.modifier.const", + match: variableBounds[ /const/ ], + ) + # find any scope resolutions ).then(std_space).then( inline_scope_resolution[".operator-overload"] # find the actual operator/type @@ -1211,11 +1365,11 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) ) # lookahead for the start of a template type or the start of the function parameters - ).then(std_space).lookAheadFor(/\<|\(/) + ).then(std_space).lookAheadFor(/;|\<|\(/) ), head_includes:[ :ever_present_context, # comments and macros - :template_call_range, + :template_call_range_helper, PatternRange.new( tag_content_as: "meta.function.definition.parameters.special.operator-overload", start_pattern: Pattern.new( @@ -1247,15 +1401,15 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: start_pattern: Pattern.new( std_space.then( match: variableBounds[/static_assert|_Static_assert/], - tag_as: "keyword.other.static_assert", + tag_as: "keyword.other.static-assert", ).then(std_space).then( match: /\(/, - tag_as: "punctuation.section.arguments.begin.bracket.round.static_assert", + tag_as: "punctuation.section.arguments.begin.bracket.round.static-assert", ) ), end_pattern: Pattern.new( match: /\)/, - tag_as: "punctuation.section.arguments.end.bracket.round.static_assert", + tag_as: "punctuation.section.arguments.end.bracket.round.static-assert", ), includes: [ # special handling for the assert message @@ -1265,7 +1419,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "punctuation.separator.delimiter.comma", ).maybe(@spaces).lookAheadFor(maybe(Pattern.new(/L|u8|u|U/).maybe(@spaces).then(/\"/))), end_pattern: lookAheadFor(/\)/), - tag_as: "meta.static_assert.message", + tag_as: "meta.static-assert.message", includes: [ :string_context, ] @@ -1274,26 +1428,49 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ] ) # a full match example of function call would be: aNameSpace::subClassFunctionName<5>( - grammar[:function_call] = PatternRange.new( - start_pattern: Pattern.new( - grammar[:scope_resolution_function_call] - ).then( - match: variable_name_without_bounds, - tag_as: "entity.name.function.call" - ).then( - avoid_invalid_function_names - ).then(std_space).maybe( - template_call - ).then( - match: /\(/, - tag_as: "punctuation.section.arguments.begin.bracket.round.function.call" - ), - end_pattern: Pattern.new( - match: /\)/, - tag_as: "punctuation.section.arguments.end.bracket.round.function.call" - ), - includes: [ :evaluation_context ] - ) + grammar[:function_call] = [ + PatternRange.new( + start_pattern: Pattern.new( + grammar[:scope_resolution_function_call] + ).then( + # same as normal function call, just detect if upper-case + match: /[A-Z][A-Z_0-9]*/, + tag_as: "entity.name.function.call.upper-case entity.name.function.call" + ).then( + avoid_invalid_function_names + ).then(std_space).maybe( + template_call + ).then( + match: /\(/, + tag_as: "punctuation.section.arguments.begin.bracket.round.function.call punctuation.section.arguments.begin.bracket.round.function.call.upper-case" + ), + end_pattern: Pattern.new( + match: /\)/, + tag_as: "punctuation.section.arguments.end.bracket.round.function.call punctuation.section.arguments.begin.bracket.round.function.call.upper-case" + ), + includes: [ :evaluation_context ] + ), + PatternRange.new( + start_pattern: Pattern.new( + grammar[:scope_resolution_function_call] + ).then( + match: variable_name_without_bounds, + tag_as: "entity.name.function.call" + ).then( + avoid_invalid_function_names + ).then(std_space).maybe( + template_call + ).then( + match: /\(/, + tag_as: "punctuation.section.arguments.begin.bracket.round.function.call" + ), + end_pattern: Pattern.new( + match: /\)/, + tag_as: "punctuation.section.arguments.end.bracket.round.function.call" + ), + includes: [ :evaluation_context ] + ), + ] # # Initializers @@ -1311,6 +1488,22 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "punctuation.section.arguments.end.bracket.curly.initializer", ), includes: [ + PatternRange.new( + tag_as: "meta.initialization.parameter", + start_pattern: Pattern.new( + Pattern.new( + tag_as: "punctuation.accessor.initializer variable.parameter.initializer", + match: ".", + ).then( + tag_as: "variable.parameter.initializer", + match: identifier, + ) + ), + end_pattern: grammar[:comma].or(lookAheadFor(/\}/)), + includes: [ + :evaluation_context, + ], + ), :evaluation_context, :comma ] @@ -1511,7 +1704,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) ] grammar[:destructor_root] = destructor[ - optional_calling_convention.then( + std_space.then(optional_calling_convention).then( inline_scope_resolution[".destructor"] ).then( match: Pattern.new( @@ -1554,7 +1747,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "keyword.operator.wordlike keyword.operator.$match", ), ] - array_of_function_like_operators = @cpp_tokens.tokens.select { |each| each[:isFunctionLike] && each[:isWord] && !each[:isSpecifier] } + array_of_function_like_operators = @cpp_tokens.tokens.select { |each| each[:isOperator] && each[:isFunctionLike] && each[:isWord] && !each[:isSpecifier] } for each in array_of_function_like_operators name = each[:name] grammar[:operators].push(functionCallGenerator[ @@ -1597,32 +1790,24 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "keyword.operator.increment" ), Pattern.new( - match: /%=|\+=|-=|\*=|(?>=|\|=/, - tag_as: "keyword.operator.assignment.compound.bitwise" - ), - Pattern.new( - match: /<<|>>/, + match: /(?:<<|>>)/, tag_as: "keyword.operator.bitwise.shift" ), Pattern.new( - match: /!=|<=|>=|==|<|>/, + match: /(?:!=|<=|>=|==|<|>)/, tag_as: "keyword.operator.comparison" ), Pattern.new( - match: /&&|!|\|\|/, + match: /(?:&&|!|\|\|)/, tag_as: "keyword.operator.logical" ), Pattern.new( - match: /&|\||\^|~/, + match: /(?:&|\||\^|~)/, tag_as: "keyword.operator.bitwise" ), - :assignment_operator, + assignment_operators, Pattern.new( - match: /%|\*|\/|-|\+/, + match: /(?:%|\*|\/|-|\+)/, tag_as: "keyword.operator.arithmetic" ), :ternary_operator, @@ -1630,7 +1815,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # # function pointer # - after_declaration = std_space.lookAheadFor(/[{=,);>]|\n/).lookAheadToAvoid(/\(/) + after_declaration = std_space.maybe(grammar[:qualifiers_and_specifiers_post_parameters_inline].then(std_space)).lookAheadFor(/[{=,);>]|\n/).lookAheadToAvoid(/\(/) functionPointerGenerator = ->(identifier_tag) do return PatternRange.new( start_pattern: grammar[:simple_type].then(std_space).then( @@ -1723,7 +1908,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :scope_resolution_parameter_inner_generated, # match the class/struct/enum/union keywords Pattern.new( - match: @cpp_tokens.that(:isTypeCreator), + match: variableBounds[@cpp_tokens.that(:isTypeCreator)], tag_as: "storage.type.$match" ), # This is a range for when there is a variable-default assignment @@ -1777,10 +1962,11 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: identifier.then(@cpp_tokens.lookBehindToAvoidWordsThat(:isTypeCreator)), tag_as: "entity.name.type.parameter" ), - :template_call_range, + :template_call_range_helper, # # tag the reference and dereference operator ref_deref[], - :evaluation_context # this is part of the #282 workaround + :evaluation_context, # this is part of the #282 workaround + :ever_present_context, ] ) grammar[:parameter] = PatternRange.new( @@ -1823,7 +2009,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :scope_resolution_parameter_inner_generated, # match the class/struct/enum/union keywords Pattern.new( - match: @cpp_tokens.that(:isTypeCreator), + match: variableBounds[@cpp_tokens.that(:isTypeCreator)], tag_as: "storage.type.$match" ), # This is a range for when there is a variable-default assignment @@ -1877,9 +2063,10 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: identifier.then(@cpp_tokens.lookBehindToAvoidWordsThat(:isTypeCreator)), tag_as: "entity.name.type.parameter" ), - :template_call_range, + :template_call_range_helper, # tag the reference and dereference operator ref_deref[], + :ever_present_context, ] ) # @@ -1900,15 +2087,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # TODO: member_access and method_access might also need additional matching to handle scope resolutions generatePartialMemberFinder = ->(tag_name) do the_this_keyword.or( - Pattern.new( - match: variable_name_without_bounds.or(lookBehindFor(/\]|\)/)).maybe(@spaces), - tag_as: tag_name, - ) + generateVariableVariations[tag_name].or(lookBehindFor(/\]|\)/)).maybe(@spaces), ).then( member_operator ) end - partial_member = generatePartialMemberFinder["variable.other.object.access"] + partial_member = generatePartialMemberFinder["variable.other.object.access.$match"] member_context = [ mid_member = Pattern.new( match: lookBehindFor(dot_or_arrow_operator).maybe( @@ -2003,6 +2187,8 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: head_includes: [ :ever_present_context, :attributes_context, + :normal_variable_assignment, + :normal_variable_declaration, grammar[:scope_resolution_namespace_block].maybe(@spaces).then( match: variable_name, tag_as: "entity.name.namespace", @@ -2056,11 +2242,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: should_partial_match: [ "[]", "[=](", "[&]{", "[x,y,x]", "[x, y, &z, w = 1 + 1] (", "[ a = blah[1324], b, c ] {" ], should_not_partial_match: [ "delete[]", "thing[]", "thing []", "thing []", "thing[0][0] = 0" ], match: Pattern.new( - match: lookBehindFor(/[^\s]|^/).lookBehindToAvoid(/[\w\]\)\[\*&">]/).or(lookBehindFor(non_variable_name)).maybe(@spaces).then( - match: Pattern.new(/\[/).lookAheadToAvoid(/\[| *+"| *+\d/), - tag_as: "punctuation.definition.capture.begin.lambda", - ) - ).then( + Pattern.new( + match: lookBehindFor(/[^\s]|^/).lookBehindToAvoid(/[\w\]\)\[\*&">]/).or(lookBehindFor(non_variable_name)).maybe(@spaces).then( + match: Pattern.new(/\[/).lookAheadToAvoid(/\[| *+"| *+\d/), + tag_as: "punctuation.definition.capture.begin.lambda", + ) + ).then( match: zeroOrMoreOf( match: Pattern.new(/[^\[\]]/).or(only_balanced_square_bracke), dont_back_track?: true, @@ -2083,9 +2270,10 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :evaluation_context ], ).then( - match: Pattern.new(/\]/).lookAheadToAvoid(std_space.then(/[\[\];]/)), + match: Pattern.new(/\]/).lookAheadToAvoid(std_space.then(/[\[\];=]/)), tag_as: "punctuation.definition.capture.end.lambda", ) + ) ), end_pattern: Pattern.new( match: lookBehindFor(/[;}]/), @@ -2137,7 +2325,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /\}/, tag_as: "punctuation.section.block.end.bracket.curly.lambda", ), - includes: [ :$initial_context ] + includes: [ :function_body_context ] ), ] ) @@ -2293,9 +2481,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: head_includes: [ :ever_present_context, # directives and comments :inheritance_context, - :template_call_range, + :template_call_range_helper, ], - body_includes: [ :function_pointer, :static_assert, :constructor_inline, :destructor_inline, :$initial_context ], + body_includes: [ :function_pointer, :static_assert, :constructor_inline, :destructor_inline, :operator_overload, :normal_variable_declaration, :normal_variable_assignment, :$initial_context ], tail_includes: tail_includes ) end @@ -2395,6 +2583,59 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # grammar[:assembly] = assembly_pattern(std_space, identifier) grammar[:backslash_escapes] = backslash_escapes() + grammar[:string_escaped_char] = grammar[:backslash_escapes] + grammar[:range_for_inner] = PatternRange.new( + tag_as: "meta.parens.control.for", + start_pattern: Pattern.new( + lookBehindFor(/\Wfor \(|^for \(|\Wfor\(|^for\(/), # lookbehinds must be a fixed length otherwise \s* would've been used + ), + end_pattern: lookAheadFor(/\)/), + includes: [ + # normal ranged for loop + Pattern.new( + Pattern.new( + tag_as: "meta.type", + match: normal_type_pattern, + ).then(std_space).then( + match: identifier, + tag_as: "variable.other.object.declare.for", + ).then(std_space).then( + match: /:/, + tag_as: "punctuation.separator.colon.range-based" + ).lookAheadToAvoid(/:/), + ), + # tuple ranged for loop + Pattern.new( + tag_as: "meta.binding", + match: Pattern.new( + Pattern.new( + tag_as: "meta.type", + match: normal_type_pattern, + ).then(std_space).then( + match: '[', + tag_as: "punctuation.definition.begin.bracket.square.binding", + ).then(std_space).then( + Pattern.new( + match: identifier, + tag_as: "variable.other.for", + ).zeroOrMoreOf( + std_space.then(grammar[:comma]).then(std_space).then( + match: identifier, + tag_as: "variable.other.for", + ) + ) + ).then(std_space).then( + match: ']', + tag_as: "punctuation.definition.end.bracket.square.binding", + ).then(std_space).then( + match: /:/, + tag_as: "punctuation.separator.colon.range-based" + ).lookAheadToAvoid(/:/), + ) + ), + :evaluation_context, + ], + ) # # Misc Legacy # @@ -2515,7 +2756,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /}/, tag_as: "punctuation.section.block.end.bracket.curly" ), - includes: [:function_body_context] + includes: [ + :function_body_context + ] ) grammar[:line_continuation_character] = Pattern.new( match: /\\\n/, @@ -2532,6 +2775,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "punctuation.section.parens.end.bracket.round" ), includes: [ + :range_for_inner, # TODO: for typecasting (eventually this should be replaced) :over_qualified_types, # TODO: for range-based for loops (eventually this should be replaced) diff --git a/main/patterns/comments.rb b/main/patterns/comments.rb index 4b905749..2bde6724 100644 --- a/main/patterns/comments.rb +++ b/main/patterns/comments.rb @@ -81,7 +81,15 @@ end_pattern: Pattern.new( match: /\*\//, tag_as: "punctuation.definition.comment.end" - ) + ), + apply_end_pattern_last: true, + includes: [ + # seems useless, but prevents issues like https://github.com/jeff-hykin/better-cpp-syntax/issues/527 + # note: this is more of a way to turn off the bailout for just this pattern when the macro_bailout is generated + # it should be the only pattern that needs this because its the only thing that is run in phase1 of the + # preprocessor (e.g. before macros are handled) + Pattern.new(/[^\*]*\n/), + ], ) # this is kind of a grandfathered-in pattern diff --git a/main/patterns/numeric.rb b/main/patterns/numeric.rb index d9ff52c2..2ffd0537 100644 --- a/main/patterns/numeric.rb +++ b/main/patterns/numeric.rb @@ -82,7 +82,7 @@ def numeric_constant(allow_user_defined_literals: false, separator:"'") /LL?[uU]?/, /[fF]/, # TODO: this is actually a decimal point-less floating point number ]).lookAheadToAvoid(/\w/), - tag_as: "keyword.other.unit.suffix.integer", + tag_as: "keyword.other.suffix.literal.built-in.integer keyword.other.unit.suffix.integer", ) # see https://en.cppreference.com/w/cpp/language/floating_literal @@ -136,7 +136,7 @@ def numeric_constant(allow_user_defined_literals: false, separator:"'") should_fully_match: ["f","l","L","F"], should_not_fully_match: ["lLu","uU","lug","fan"], match: Pattern.new(/[lLfF]/).lookAheadToAvoid(/\w/), - tag_as: "keyword.other.unit.suffix.floating-point" + tag_as: "keyword.other.suffix.literal.built-in.floating-point keyword.other.unit.suffix.floating-point" ) @@ -147,15 +147,15 @@ def numeric_constant(allow_user_defined_literals: false, separator:"'") decimal_user_defined_literal_pattern = Pattern.new( match: maybe(Pattern.new(/\w/).lookBehindToAvoid(/[0-9eE]/).then(/\w*/)).then(end_pattern), - tag_as: "keyword.other.unit.user-defined" + tag_as: "keyword.other.suffix.literal.user-defined.integer keyword.other.unit.user-defined" ) hex_user_defined_literal_pattern = Pattern.new( match: maybe(Pattern.new(/\w/).lookBehindToAvoid(/[0-9a-fA-FpP]/).then(/\w*/)).then(end_pattern), - tag_as: "keyword.other.unit.user-defined" + tag_as: "keyword.other.suffix.literal.user-defined.integer keyword.other.unit.user-defined" ) normal_user_defined_literal_pattern = Pattern.new( match: maybe(Pattern.new(/\w/).lookBehindToAvoid(/[0-9]/).then(/\w*/)).then(end_pattern), - tag_as: "keyword.other.unit.user-defined" + tag_as: "keyword.other.suffix.literal.user-defined.integer keyword.other.unit.user-defined" ) if allow_user_defined_literals diff --git a/main/patterns/preprocessor.rb b/main/patterns/preprocessor.rb index c5fb65d6..f7019e05 100644 --- a/main/patterns/preprocessor.rb +++ b/main/patterns/preprocessor.rb @@ -23,7 +23,7 @@ def wordBounds(regex_pattern) :line, :diagnostic, :undef, - :single_line_macro, + # :single_line_macro, :macro, :macro_argument, :preprocessor_conditional_range, @@ -32,6 +32,7 @@ def wordBounds(regex_pattern) :preprocessor_conditional_parentheses, :preprocessor_conditional_standalone, :preprocessor_context, + :preprocessor_number_literal, # NOTE: this shouldn't need to be exported, but there's a bug in ruby_grammar_builder (see https://github.com/jeff-hykin/better-cpp-syntax/issues/653) ] std_space = grammar[:std_space] @@ -267,14 +268,14 @@ def wordBounds(regex_pattern) # # #define # - grammar[:single_line_macro] = Pattern.new( - should_fully_match: ['#define EXTERN_C extern "C"'], - match: Pattern.new(/^/).then(std_space).then(/#define/).then(/.*/).lookBehindToAvoid(/[\\]/).then(@end_of_line), - includes: [ - :macro, - :comments, - ] - ) + # grammar[:single_line_macro] = Pattern.new( + # should_fully_match: ['#define EXTERN_C extern "C"'], + # match: Pattern.new(/^/).then(std_space).then(/#define/).then(/.*/).lookBehindToAvoid(/[\\]/).then(@end_of_line), + # includes: [ + # :macro, + # :comments, + # ] + # ) grammar[:macro] = PatternRange.new( tag_as: "meta.preprocessor.macro", start_pattern: Pattern.new( @@ -411,7 +412,7 @@ def wordBounds(regex_pattern) grammar[:preprocessor_conditional_standalone] = Pattern.new( tag_as: "keyword.control.directive.$reference(conditional_name)", match: directive_start.then( - match: wordBounds(/(?:endif|else|elif)/), + match: wordBounds(/(?:endif|else|elif|elifdef|elifndef)/), reference: "conditional_name" ) ) @@ -424,7 +425,7 @@ def wordBounds(regex_pattern) :diagnostic, :undef, :preprocessor_conditional_range, - :single_line_macro, + # :single_line_macro, :macro, :preprocessor_conditional_standalone, :macro_argument, diff --git a/main/patterns/raw_strings.rb b/main/patterns/raw_strings.rb index 9489e784..6025d977 100644 --- a/main/patterns/raw_strings.rb +++ b/main/patterns/raw_strings.rb @@ -3,6 +3,7 @@ def generateTaggedRawString(name, tag_pattern, inner_pattern, tag_as_meta:false) # (because they're part of another language or syntax) meta = "" meta = "meta." if tag_as_meta + name = ".#{name}" if name return PatternRange.new( start_pattern: Pattern.new( match: Pattern.new( @@ -15,7 +16,7 @@ def generateTaggedRawString(name, tag_pattern, inner_pattern, tag_as_meta:false) match: Pattern.new(")").then(tag_pattern).then(/\"/), tag_as: "punctuation.definition.string.end" ), - tag_as: meta+"string.quoted.double.raw.#{name}", + tag_as: meta+"string.quoted.double.raw#{name}", includes: [ inner_pattern, ] @@ -28,7 +29,7 @@ def getRawStringPatterns() begin: "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(", beginCaptures: { "0" => { - name: "punctuation.definition.string.begin" + name: "punctuation.definition.string.$2.begin" }, "1" => { name: "meta.encoding" @@ -37,30 +38,33 @@ def getRawStringPatterns() name: "invalid.illegal.delimiter-too-long" } }, - end: "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", + end: "(\\)(\\2)(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", endCaptures: { "1" => { - name: "punctuation.definition.string.end" + name: "punctuation.definition.string.$2.end" }, - "2" => { + "3" => { name: "invalid.illegal.delimiter-too-long" }, - "3" => { + "4" => { name: "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, - "4" => { + "5" => { name: "keyword.other.suffix.literal.user-defined.string.cpp" }, }, - name: "string.quoted.double.raw" + name: "string.quoted.double.raw.$2" ) regex = generateTaggedRawString("regex", Pattern.new(/_r/).or(/re/).or(/regex/), "source.regexp.python") - sql = generateTaggedRawString("sql", Pattern.new(/[pP]?(?:sql|SQL)/).or(/d[dm]l/), "source.sql", tag_as_meta: true) + # sql = generateTaggedRawString("sql", Pattern.new(/[pP]?(?:sql|SQL)/).or(/d[dm]l/), "source.sql", tag_as_meta: true) + # ^disabled until a bailout-pattern is made for sql because of bugs like this: https://github.com/jeff-hykin/better-cpp-syntax/issues/636 glsl = generateTaggedRawString("glsl", Pattern.new(/glsl/).or(/GLSL/), "source.glsl", tag_as_meta: true) + plain = generateTaggedRawString(nil, Pattern.new(//), "", tag_as_meta: false) return [ regex, glsl, - sql, + # sql, + plain, default, ] end diff --git a/main/textmate_tools.rb b/main/textmate_tools.rb index b32658ce..69ace7b0 100644 --- a/main/textmate_tools.rb +++ b/main/textmate_tools.rb @@ -142,7 +142,13 @@ def lookAheadToAvoidWordsThat(*adjectives) end def that(*adjectives) - return oneOf(representationsThat(*adjectives)) + representations = representationsThat(*adjectives) + regex_internals = representations.map do |each| + Regexp.escape(each) + end.join('|') + return Pattern.new(/(?:#{regex_internals})/) + # oneOf has problems (as of 2024-07) + # return oneOf(representationsThat(*adjectives)) end end diff --git a/main/tokens.rb b/main/tokens.rb index b8209d83..b1756c3d 100644 --- a/main/tokens.rb +++ b/main/tokens.rb @@ -266,7 +266,7 @@ { representation: "__asm__" , name: "__asm__" }, # { representation: "concept" , name: "concept" , isCurrentlyAMiscKeyword: true }, - { representation: "requires" , name: "requires" , isCurrentlyAMiscKeyword: true }, + { representation: "requires" , name: "requires" , canAppearAfterParametersBeforeBody: true, isFunctionLike: true }, { representation: "export" , name: "export" , isCurrentlyAMiscKeyword: true }, { representation: "atomic_cancel" , name: "atomic_cancel" }, { representation: "atomic_commit" , name: "atomic_commit" }, diff --git a/package-lock.json b/package-lock.json index 3222ad9b..28435b4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.17.2", + "version": "1.26.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.17.2", + "version": "1.26.1", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", @@ -14,12 +14,44 @@ "nspell": "^2.1.2", "oniguruma": "^7.2.0", "ovsx": "^0.5.1", - "textmate-tester": "^1.1.9" + "textmate-bailout": "^1.1.0", + "textmate-tester": "^1.1.9", + "vsce": "^1.103.1" }, "engines": { "vscode": "^1.0.0" } }, + "node_modules/@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, "node_modules/abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -88,6 +120,12 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -246,6 +284,12 @@ "node": "*" } }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -389,6 +433,21 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -480,6 +539,12 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "dev": true + }, "node_modules/detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -776,6 +841,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -910,6 +984,30 @@ "entities": "^4.3.0" } }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "dependencies": { + "@types/node": "^10.0.3" + } + }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -1137,6 +1235,15 @@ "node": ">=6" } }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -1161,6 +1268,28 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -1575,6 +1704,12 @@ "node": ">= 14" } }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "dev": true + }, "node_modules/parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -1675,6 +1810,15 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dev": true, + "dependencies": { + "asap": "~2.0.6" + } + }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -1989,6 +2133,29 @@ "node": ">=4" } }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "dependencies": { + "get-port": "^3.1.0" + } + }, "node_modules/tar": { "version": "4.4.19", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", @@ -2069,6 +2236,16 @@ } ] }, + "node_modules/textmate-bailout": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/textmate-bailout/-/textmate-bailout-1.1.0.tgz", + "integrity": "sha512-5Ys2fr9L/xToWgUqJ+/WMvGzoVS2Jvn3xIn8ngNxsTH4K4WddHZy70mx5ehNFIRXaURmYo5ytM/BoHPmBblXYg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15", + "sync-request": "^6.1.0" + } + }, "node_modules/textmate-tester": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/textmate-tester/-/textmate-tester-1.1.9.tgz", @@ -2175,6 +2352,34 @@ "node": ">=10" } }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + }, "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -2268,6 +2473,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -2289,6 +2500,12 @@ "punycode": "^2.1.0" } }, + "node_modules/url-join": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", + "integrity": "sha512-zz1wZk4Lb5PTVwZ3HWDmm8XnlPvmOof6/fjdDPA5yBrUcbtV64U6bV832Zf1BtU2WkBBWaUT46wCs+l0HP5nhg==", + "dev": true + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -2325,6 +2542,44 @@ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, + "node_modules/vsce": { + "version": "1.103.1", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.103.1.tgz", + "integrity": "sha512-98oKQKKRp7J/vTIk1cuzom5cezZpYpRHs3WlySdsrTCrAEipB/HvaPTc4VZ3hGZHzHXS9P5p2L0IllntJeXwiQ==", + "deprecated": "vsce has been renamed to @vscode/vsce. Install using @vscode/vsce instead.", + "dev": true, + "dependencies": { + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "denodeify": "^1.2.1", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "keytar": "^7.7.0", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "markdown-it": "^10.0.0", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "osenv": "^0.1.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^1.1.0", + "xml2js": "^0.4.23", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/vscode-textmate": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-4.4.0.tgz", @@ -2513,6 +2768,36 @@ } }, "dependencies": { + "@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -2571,6 +2856,12 @@ "sprintf-js": "~1.0.2" } }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2691,6 +2982,12 @@ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -2807,6 +3104,18 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -2874,6 +3183,12 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "dev": true + }, "detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -3094,6 +3409,12 @@ "has-symbols": "^1.0.3" } }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "dev": true + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -3193,6 +3514,27 @@ "entities": "^4.3.0" } }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, + "requires": { + "@types/node": "^10.0.3" + } + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -3363,6 +3705,15 @@ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -3386,6 +3737,27 @@ } } }, + "markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + } + } + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -3718,6 +4090,12 @@ } } }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "dev": true + }, "parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -3800,6 +4178,15 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dev": true, + "requires": { + "asap": "~2.0.6" + } + }, "psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -4038,6 +4425,26 @@ "has-flag": "^3.0.0" } }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, + "requires": { + "get-port": "^3.1.0" + } + }, "tar": { "version": "4.4.19", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", @@ -4099,6 +4506,16 @@ } } }, + "textmate-bailout": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/textmate-bailout/-/textmate-bailout-1.1.0.tgz", + "integrity": "sha512-5Ys2fr9L/xToWgUqJ+/WMvGzoVS2Jvn3xIn8ngNxsTH4K4WddHZy70mx5ehNFIRXaURmYo5ytM/BoHPmBblXYg==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "sync-request": "^6.1.0" + } + }, "textmate-tester": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/textmate-tester/-/textmate-tester-1.1.9.tgz", @@ -4186,6 +4603,33 @@ } } }, + "then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true + } + } + }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -4259,6 +4703,12 @@ } } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -4280,6 +4730,12 @@ "punycode": "^2.1.0" } }, + "url-join": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", + "integrity": "sha512-zz1wZk4Lb5PTVwZ3HWDmm8XnlPvmOof6/fjdDPA5yBrUcbtV64U6bV832Zf1BtU2WkBBWaUT46wCs+l0HP5nhg==", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -4311,6 +4767,37 @@ } } }, + "vsce": { + "version": "1.103.1", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.103.1.tgz", + "integrity": "sha512-98oKQKKRp7J/vTIk1cuzom5cezZpYpRHs3WlySdsrTCrAEipB/HvaPTc4VZ3hGZHzHXS9P5p2L0IllntJeXwiQ==", + "dev": true, + "requires": { + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "denodeify": "^1.2.1", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "keytar": "^7.7.0", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "markdown-it": "^10.0.0", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "osenv": "^0.1.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^1.1.0", + "xml2js": "^0.4.23", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + } + }, "vscode-textmate": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-4.4.0.tgz", diff --git a/package.json b/package.json index dcaa5b25..90f1d90a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.17.2", + "version": "1.27.1", "icon": "icon.png", "scripts": {}, "keywords": [ @@ -56,6 +56,8 @@ "nspell": "^2.1.2", "oniguruma": "^7.2.0", "ovsx": "^0.5.1", - "textmate-tester": "^1.1.9" + "textmate-bailout": "^1.1.0", + "textmate-tester": "^1.1.9", + "vsce": "^1.103.1" } } diff --git a/settings/during_start/094_000_jeffs_git_shortcuts.sh b/settings/during_start/094_000_jeffs_git_shortcuts.sh index 64f21d21..8a7cd92f 100644 --- a/settings/during_start/094_000_jeffs_git_shortcuts.sh +++ b/settings/during_start/094_000_jeffs_git_shortcuts.sh @@ -30,9 +30,15 @@ git_checkout () { git_checkout_pr () { pr_number="$1" - git_delete_branch '@__temp__/pull_request' - git fetch origin "pull/$pr_number/head:@__temp__/pull_request" - git checkout '@__temp__/pull_request' + if [ -z "$pr_number" ] + then + echo "whats the PR number?" + read pr_number + fi + temp_pr_name='@__temp__/pull_request' + git_delete_branch "$temp_pr_name" + git fetch origin "pull/$pr_number/head:$temp_pr_name" + git checkout "$temp_pr_name" } git_commit_hashes () { @@ -40,7 +46,7 @@ git_commit_hashes () { } git_log () { - git log --first-parent --date=short --pretty=format:"%Cblue%ad %h%Cgreen %s %Creset%d" + git --no-pager log --reverse --first-parent --date=short --pretty=format:"%Cblue%ad %h%Cgreen %s %Creset%d" "$@" } git_current_commit_hash () { @@ -65,7 +71,7 @@ git_squash_to () { git_squash () { args="$@" git reset --soft HEAD~2 && git add -A && git commit -m "$args" && echo "squash complete" - git_log | head -n5 + git_log | tail -n5 } # @@ -453,6 +459,25 @@ git_url_of_origin () { git config --get remote.origin.url } +git_squash_to () { + commit_hash="$1" + commit_message="$2" + git reset --soft "$commit_hash" && git add -A && git commit -m "$commit_message" && echo "squash complete" +} + +git_delete_submodule () { + path="$1" + if ! [ -d "$path" ] + then + echo "I don't see that folder/path. So this method might not work perfectly" + echo "press enter to continue, ctrl+C to cancel" + read A + fi + git submodule deinit -f "$path" + rm -rf ".git/modules/$path" + git rm -f "$path" +} + # self submodule # git submodule add -b jirl --name "jirl" -- https://github.com/jeff-hykin/model_racer.git ./source/jirl diff --git a/settings/extensions/nix/commands/ensure_nix_installed b/settings/extensions/nix/commands/ensure_nix_installed deleted file mode 100755 index 5860ca2c..00000000 --- a/settings/extensions/nix/commands/ensure_nix_installed +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/env bash - -if [ "$FORNIX_DEBUG" = "true" ]; then - echo "starting ensure_nix_installed" -fi - -# setup some helpers -newline=' -' -light_yellow="\e[0;1;33m";light_yellow="" -light_purple="\e[0;1;35m";light_purple="" -light_green="\e[0;1;32m";light_green="" -light_red="\e[0;1;31m";light_red="" -blue="\e[0;94m"; blue="" -cyan="\e[0;36m";cyan="" -color_reset="\e[0m";color_reset="" - -# saftey/cleanup -# if trap exists -if [ -n "$(command -v "trap")" ]; then - trap 'unset repo; unset branch; unset setup_or_copy; unset mixin_remote_name; return 0' INT TERM -fi - -# -# if nix command doesnt exist -# -if [ -z "$(command -v "nix")" ]; then - # - # try sourcing some files, then check avail if nix is available - # - if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ]; then - . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" - fi - if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then - . "$HOME/.nix-profile/etc/profile.d/nix.sh" - fi - export PATH="$PATH:/nix/var/nix/profiles/default/bin/" - - - # - # if nix store doesn't exist - # - if ! [ -d "/nix/store" ]; then - echo "|------------------------------------------------------|" 1>&2 - echo "| |" 1>&2 - echo "| I'll try to install nix for you |" 1>&2 - echo "| (since I don't see nix yet) |" 1>&2 - echo "| |" 1>&2 - echo "|------------------------------------------------------|" 1>&2 - echo "" - # check for root - if [ "$(whoami)" = "root" ]; then - echo "$light_yellow" - echo "looks like you're logged in as root" - echo "sadly nix can't install on the root user" - echo "please use a regular user, then re-run this script" - echo "$color_reset" - # if users exists - if [ -n "$(command -v "getent")" ] && [ -n "$(command -v "cut")" ]; then - users="$(getent passwd {1000..6000} | cut -d: -f1)" - if [ -n "$users" ] && [ "$users" != "root" ]; then - echo "the available users are:" - echo "$users" - echo - echo "you should be able to run ${cyan}su ${light_yellow}USER_NAME${color_reset}" - echo "to login as one of those users" - else - echo "" - echo "it looks like this system doesn't have any regular users" - - # if useradd exists - if [ -n "$(command -v "useradd")" ]; then - question="do you want me to make a regular user for you? [y/n]";answer='' - while true; do - echo "$question"; read response - case "$response" in - [Yy]* ) answer='yes'; break;; - [Nn]* ) answer='no'; break;; - * ) echo "Please answer yes or no.";; - esac - done - - if [ "$answer" = 'yes' ]; then - echo "${light_purple}Enter a username:${color_reset}" - read username - if sudo useradd --create-home "$username" --password "password" --groups sudo; then - echo "" - echo "user created successfully" - echo "run:" - echo " ${cyan}sudo passwd "$username"${color_reset}" - echo "to set the password" - else - echo "" - echo "Sorry, there was an error when creating the user" - echo "I used this command: ${cyan}sudo useradd --create-home "'"'"$username"'"'" --password 'password' --groups sudo${color_reset}" - fi - else - echo "Okay" - fi - fi - - fi - echo "" - echo "login as the non-root user (${cyan}su USERNAME${color_reset})" - echo "then re-run this command" - exit - fi - fi - - # - # MacOS - # - if [ "$(uname)" = "Darwin" ]; then - debugging_info="$debugging_info$newline""I think you have a Mac because "'"$OSTYPE" = "darwin"*'" came back true" - full_version="$(sw_vers -productVersion)" - major_version="$(echo "$full_version" | sed -E 's/([0-9]+)\.[0-9]+(\.[0-9]+)?/\1/g')" - minor_version="$(echo "$full_version" | sed -E 's/[0-9]+\.([0-9]+)(\.[0-9]+)?/\1/g')" - # - # Big Sur or Newer - # - if [ "$major_version" = "11" ] || \ - [ "$major_version" = "12" ] || \ - [ "$major_version" = "13" ] || \ - [ "$major_version" = "14" ] || \ - [ "$major_version" = "15" ]; then - yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon - # - # Older than Big Sur (Catalina, Mojave, High Siera, Siera, etc) - # - elif [ "$major_version" = "10" ]; then - # Catalina - if [ "$minor_version" = "15" ]; then - sh <(curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install) --darwin-use-unencrypted-nix-store-volume - # Mojave, High Siera, Siera, and might work on even older versions (Yosemite, Mavericks) - else - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s - # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon - fi - else - echo 'We tried to get you MacOS version by running `sw_vers -productVersion`' - echo '(which returns '"$full_version"')' - echo "Either 1. that value is empty 2. You're on an insanely old version 3. You're on a version way way in the future from when this script was made" - fi - else # assuming Linux/POSIX if not on MacOS - # if curl doesnt exist, try to make it exist - if [ -z "$(command -v "curl")" ]; then - # if apt-get exists - if [ -n "$(command -v "apt-get")" ]; then - sudo apt-get update && sudo apt-get install curl - else - echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 - echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-2.9.2/install" 1>&2 - fi - fi - - # if now curl exists - if [ -n "$(command -v "curl")" ]; then - # check if systemd exists - if pidof systemd; then - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s - # # multi-user install if systemd exists - # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon - else - # single-user install if systemd does not exist - curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s - fi - fi - fi - fi -fi \ No newline at end of file diff --git a/settings/extensions/nix/installer_helper b/settings/extensions/nix/installer_helper index 6f9505e7..1823acdb 100755 --- a/settings/extensions/nix/installer_helper +++ b/settings/extensions/nix/installer_helper @@ -18,82 +18,186 @@ color_reset="\e[0m"; color_reset="" # if trap exists if [ -n "$(command -v "trap")" ] then - trap 'unset repo; unset branch; unset setup_or_copy; unset mixin_remote_name; return 0' INT TERM + trap 'unset install_repo; unset nix_version; unset repo; unset branch; unset setup_or_copy; unset mixin_remote_name; return 0' INT TERM fi -nix_version="2.9.2" -# -# make sure xcode tools are installed on MacOS -# -if [ "$(uname)" = "Darwin" ] +# default nix_version +if [ -z "$nix_version" ] then - # if non-interactive, then install without prompting - if [ -z "$PS1" ]; then - xcode-select -p &> /dev/null - if [ $? -ne 0 ]; then - echo "Command Line Tools for Xcode not found. Installing from softwareupdate…" - # This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools - echo - echo "This is probably going to take 5-30min to install" - touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress; - PROD=$(softwareupdate -l | grep "\*.*Command Line" | tail -n 1 | sed 's/^[^C]* //') - softwareupdate -i "$PROD" --verbose; - else - echo "Command Line Tools for Xcode have been installed." - fi - # use prompt so the user sees a time estimate and progress - else - check=$((xcode-\select --install) 2>&1) - echo $check - str="xcode-select: note: install requested for command line developer tools" - while [[ "$check" == "$str" ]]; - do - xcode-select --install - echo "waiting for xcode command line tools to be installed" - sleep 10 - done - fi - echo "passed xcode tools installed" + nix_version="2.11.1" fi -# TODO: add a check/option for a corrupted nix install +# default install_repo=true +if [ -z "$install_repo" ]; then + install_repo="true" +fi -if ! [ -d "/nix/store" ] -then - echo "|------------------------------------------------------|" 1>&2 - echo "| |" 1>&2 - echo "| I'll try to install nix for you |" 1>&2 - echo "| (since I don't see nix yet) |" 1>&2 - echo "| |" 1>&2 - echo "|------------------------------------------------------|" 1>&2 - echo "" - # check for root - if [ "$(whoami)" = "root" ] - then - echo "$light_yellow" - echo "looks like you're logged in as root" - echo "sadly nix can't install on the root user" - echo "please use a regular user, then re-run this script" - echo "$color_reset" - # if users exists - if [ -n "$(command -v "getent")" ] && [ -n "$(command -v "cut")" ] - then - users="$(getent passwd {1000..6000} | cut -d: -f1)" - if [ -n "$users" ] && [ "$users" != "root" ] - then - echo "the available users are:" - echo "$users" - echo - echo "you should be able to run ${cyan}su ${light_yellow}USER_NAME${color_reset}" - echo "to login as one of those users" +nix_is_installed="false" + +# +# +# ensure nix is installed +# +# + +if [ -n "$(command -v "nix-shell")" ]; then + nix_is_installed="true" +# if nix command doesnt exist, check the path +else + # + # try sourcing some files, then check avail if nix is available + # + if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ]; then + . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" + fi + if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then + . "$HOME/.nix-profile/etc/profile.d/nix.sh" + fi + export PATH="$PATH:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin/:/nix/var/nix/profiles/per-user/$(whoami)/profile/bin/" + export NIXPKGS_ALLOW_UNFREE=1 + + # if still not installed + if ! [ -z "$(command -v "nix")" ]; then + nix_is_installed="true" + else + # + # make sure xcode tools are installed on MacOS + # + if [ "$(uname)" = "Darwin" ]; then + # if non-interactive, then install without prompting + if [ -z "$PS1" ]; then + xcode-select -p &> /dev/null + if [ $? -ne 0 ]; then + echo "Command Line Tools for Xcode not found. Installing from softwareupdate…" + # This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools + echo + echo "This is probably going to take 5-30min to install" + touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress; + PROD=$(softwareupdate -l | grep "\*.*Command Line" | tail -n 1 | sed 's/^[^C]* //') + softwareupdate -i "$PROD" --verbose; + else + echo "Command Line Tools for Xcode have been installed." + fi + # use prompt so the user sees a time estimate and progress else - echo "" - echo "it looks like this system doesn't have any regular users" + check=$((xcode-\select --install) 2>&1) + echo $check + str="xcode-select: note: install requested for command line developer tools" + while [[ "$check" == "$str" ]]; + do + xcode-select --install + echo "waiting for xcode command line tools to be installed" + sleep 10 + done + fi + echo "passed xcode tools installed" + fi - # if useradd exists - if [ -n "$(command -v "useradd")" ] - then - question="do you want me to make a regular user for you? [y/n]";answer='' + # TODO: add a check/option for a corrupted nix install + + if ! [ -d "/nix/store" ]; then + echo "|------------------------------------------------------|" 1>&2 + echo "| |" 1>&2 + echo "| I'll try to install nix for you |" 1>&2 + echo "| (since I don't see nix yet) |" 1>&2 + echo "| |" 1>&2 + echo "|------------------------------------------------------|" 1>&2 + echo "" + # check for root + if [ "$(whoami)" = "root" ]; then + echo "$light_yellow" + echo "looks like you're logged in as root" + echo "sadly nix can't install on the root user" + echo "please use a regular user, then re-run this script" + echo "$color_reset" + # if users exists + if [ -n "$(command -v "getent")" ] && [ -n "$(command -v "cut")" ]; then + users="$(getent passwd {1000..6000} | cut -d: -f1)" + if [ -n "$users" ] && [ "$users" != "root" ]; then + echo "the available users are:" + echo "$users" + echo + echo "you should be able to run ${cyan}su ${light_yellow}USER_NAME${color_reset}" + echo "to login as one of those users" + else + echo "" + echo "it looks like this system doesn't have any regular users" + + # if useradd exists + if [ -n "$(command -v "useradd")" ]; then + question="do you want me to make a regular user for you? [y/n]";answer='' + while true; do + echo "$question"; read response + case "$response" in + [Yy]* ) answer='yes'; break;; + [Nn]* ) answer='no'; break;; + * ) echo "Please answer yes or no.";; + esac + done + + if [ "$answer" = 'yes' ]; then + echo "${light_purple}Enter an ALL LOWERCASE username:${color_reset}" + read username + if sudo useradd --create-home "$username" --password "password" --groups sudo; then + echo "" + echo "user created successfully" + echo "run:" + echo " ${cyan}sudo passwd "$username"${color_reset}" + echo "to set the password" + else + echo "" + echo "Sorry, there was an error when creating the user" + echo "I used this command: ${cyan}sudo useradd --create-home "'"'"$username"'"'" --password 'password' --groups sudo${color_reset}" + fi + else + echo "Okay" + fi + fi + + fi + echo "" + echo "login as the non-root user (${cyan}su USERNAME${color_reset})" + echo "then re-run this command" + return 1 + fi + fi + + # + # MacOS + # + if [ "$(uname)" = "Darwin" ]; then + debugging_info="$debugging_info$newline""I think you have a Mac because "'"$OSTYPE" = "darwin"*'" came back true" + full_version="$(sw_vers -productVersion)" + major_version="$(echo "$full_version" | sed -E 's/([0-9]+)\.[0-9]+(\.[0-9]+)?/\1/g')" + minor_version="$(echo "$full_version" | sed -E 's/[0-9]+\.([0-9]+)(\.[0-9]+)?/\1/g')" + # + # Big Sur or Newer + # + if [ "$major_version" = "11" ] || \ + [ "$major_version" = "12" ] || \ + [ "$major_version" = "13" ] || \ + [ "$major_version" = "14" ] || \ + [ "$major_version" = "15" ]; then + yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon + # + # Older than Big Sur (Catalina, Mojave, High Siera, Siera, etc) + # + elif [ "$major_version" -eq "10" ]; then + # Catalina + if [ "$minor_version" = "15" ]; then + sh <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume + # Mojave, High Siera, Siera, and might work on even older versions (Yosemite, Mavericks) + else + # the single-user install seems to have fewer install issues + curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon + fi + else + echo 'We tried to get you MacOS version by running `sw_vers -productVersion`' + echo '(which returns '"$full_version"')' + echo "Either 1. that value is empty/really different than expected 2. You're on an insanely old version 3. You're on a version way way in the future from when this script was made" + echo ' ' + question="Want me to try installing nix using default values anyways? [y/n]";answer='' while true; do echo "$question"; read response case "$response" in @@ -102,505 +206,446 @@ then * ) echo "Please answer yes or no.";; esac done - + if [ "$answer" = 'yes' ]; then - echo "${light_purple}Enter an ALL LOWERCASE username:${color_reset}" - read username - if sudo useradd --create-home "$username" --password "password" --groups sudo - then - echo "" - echo "user created successfully" - echo "run:" - echo " ${cyan}sudo passwd "$username"${color_reset}" - echo "to set the password" - else - echo "" - echo "Sorry, there was an error when creating the user" - echo "I used this command: ${cyan}sudo useradd --create-home "'"'"$username"'"'" --password 'password' --groups sudo${color_reset}" - fi + yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon + fi + fi + # assuming Linux/POSIX if not on MacOS + else + # if curl doesnt exist, try to make it exist + if [ -z "$(command -v "curl")" ]; then + # if apt-get exists + if [ -n "$(command -v "apt-get")" ]; then + sudo apt-get update && sudo apt-get install -y curl else - echo "Okay" + echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 + echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-$nix_version/install" 1>&2 fi fi - fi - echo "" - echo "login as the non-root user (${cyan}su USERNAME${color_reset})" - echo "then re-run this command" - return 1 + # if now curl exists + if [ -n "$(command -v "curl")" ]; then + # check if systemd exists + if pidof systemd; then + # the single-user install seems to have fewer install issues + curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + # # multi-user install if systemd exists + # curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s -- --daemon + else + # single-user install if systemd does not exist + curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + fi + fi + fi fi - fi - - # - # MacOS - # - if [ "$(uname)" = "Darwin" ] - then - debugging_info="$debugging_info$newline""I think you have a Mac because "'"$OSTYPE" = "darwin"*'" came back true" - full_version="$(sw_vers -productVersion)" - major_version="$(echo "$full_version" | sed -E 's/([0-9]+)\.[0-9]+(\.[0-9]+)?/\1/g')" - minor_version="$(echo "$full_version" | sed -E 's/[0-9]+\.([0-9]+)(\.[0-9]+)?/\1/g')" - # - # Big Sur or Newer - # - if [ "$major_version" = "11" ] || \ - [ "$major_version" = "12" ] || \ - [ "$major_version" = "13" ] || \ - [ "$major_version" = "14" ] || \ - [ "$major_version" = "15" ] - then - yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon - # - # Older than Big Sur (Catalina, Mojave, High Siera, Siera, etc) - # - elif [ "$major_version" -eq "10" ]; then - # Catalina - if [ "$minor_version" = "15" ]; then - sh <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume - # Mojave, High Siera, Siera, and might work on even older versions (Yosemite, Mavericks) - else - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s - # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon + + # + # manually update the shell environment (so shell doesnt need to restart) + # + if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ]; then + . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" fi - else - echo 'We tried to get you MacOS version by running `sw_vers -productVersion`' - echo '(which returns '"$full_version"')' - echo "Either 1. that value is empty 2. You're on an insanely old version 3. You're on a version way way in the future from when this script was made" - fi - # assuming Linux/POSIX if not on MacOS - else - # if curl doesnt exist, try to make it exist - if [ -z "$(command -v "curl")" ] - then - # if apt-get exists - if [ -n "$(command -v "apt-get")" ] - then - sudo apt-get update && sudo apt-get install curl - else - echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 - echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-$nix_version/install" 1>&2 + if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then + . "$HOME/.nix-profile/etc/profile.d/nix.sh" fi - fi - - # if now curl exists - if [ -n "$(command -v "curl")" ] - then - # check if systemd exists - if pidof systemd - then - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s - # # multi-user install if systemd exists - # curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s -- --daemon + export PATH="$PATH:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin/:/nix/var/nix/profiles/per-user/$(whoami)/profile/bin/" + export NIXPKGS_ALLOW_UNFREE=1 + + # if nix exists + if [ -d "/nix/store" ]; then + # if nix-env doesnt exist + if [ -z "$(command -v "nix-env")" ] || [ -z "$(command -v "nix-shell")" ]; then + echo "$light_yellow" + echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| - Try closing/reopening your terminal and running this command again |" 1>&2 + echo "| (I dont see the nix-env and nix-shell command) |" 1>&2 + echo "| |" 1>&2 + echo "| - If you already did that, and you're still getting this message |" 1>&2 + echo "| then you might need to uninstall and reinstall nix |" 1>&2 + echo "| instructions here: |" 1>&2 + echo "| https://nixos.org/manual/nix/stable/#sect-single-user-installation |" 1>&2 + # check if file exists + if [ -f "./settings/extensions/nix/uninstaller_helper" ]; then + echo "| automated script for purging dangling/leftover installation parts here: |" 1>&2 + echo "| . \"./settings/extensions/nix/uninstaller_helper\" |" 1>&2 + fi + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" else - # single-user install if systemd does not exist - curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + nix_is_installed="true" fi + # if nix command still doesnt exist + else + echo "$light_yellow" + echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| Looks like there was a problem installing nix :/ |" 1>&2 + echo "| Hopefully there are error messages above |" 1>&2 + echo "| If you want additional information about installing nix see: |" 1>&2 + echo "| https://nixos.org/manual/nix/stable/#chap-installation |" 1>&2 + echo "| |" 1>&2 + # check if file exists + if [ -f "./settings/extensions/nix/uninstaller_helper" ]; then + echo "| Recommended next action, run the following to remove leftover/dangling parts |" 1>&2 + echo "| . \"./settings/extensions/nix/uninstaller_helper\" |" 1>&2 + echo "| Then try and look online for dealing with the error messages |" 1>&2 + fi + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" fi - fi + fi fi -# -# manually update the shell environment (so shell doesnt need to restart) -# - if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ] - then - . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" - fi - if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ] - then - . "$HOME/.nix-profile/etc/profile.d/nix.sh" - fi - export PATH="$PATH:/nix/var/nix/profiles/default/bin/" - export NIXPKGS_ALLOW_UNFREE=1 - -# if nix is still not installed -if ! [ -d "/nix/store" ] -then - echo "$light_yellow" - echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| Looks like there was a problem installing nix :/ |" 1>&2 - echo "| Hopefully there are error messages above |" 1>&2 - echo "| If you want additional information about installing nix see: |" 1>&2 - echo "| https://nixos.org/manual/nix/stable/#chap-installation |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" -# if nix was installed (hopefully successfully) -else - # if nix-env doesnt exist - if [ -z "$(command -v "nix-env")" ] || [ -z "$(command -v "nix-shell")" ] - then - echo "$light_yellow" - echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| - Try closing/reopening your terminal and running this command again |" 1>&2 - echo "| (I dont see the nix-env and nix-shell command) |" 1>&2 - echo "| |" 1>&2 - echo "| - If you already did that, and you're still getting this message |" 1>&2 - echo "| then you might need to uninstall and reinstall nix |" 1>&2 - echo "| instructions here: |" 1>&2 - echo "| https://nixos.org/manual/nix/stable/#sect-single-user-installation |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" +# if finally has nix +if [ "$nix_is_installed" = "true" ]; then + if ! [ "$install_repo" = "true" ]; then + return 0 else # - # get git + # get git if needed # - if [ -z "$(command -v "git")" ] - then - nix-env -i git - fi - # git email - if ! git config --global user.email - then - echo - echo - echo - echo - echo - echo '-------------------------------------------------------------------------------------' - echo "git needs an email (doesnt have to be valid), what email should I tell git?" - read answer - # if no answer - if [ -z "$answer" ] - then - git config --global user.email "change@this.com" - else - git config --global user.email "$answer" + if [ -z "$(command -v "git")" ]; then + nix-env -i git fi - fi - # git name - if ! git config --global user.name - then - echo - echo - echo - echo - echo - echo "git needs an name (doesnt have to be a real name), what name should I tell git?" - read answer - # if no answer - if [ -z "$answer" ] - then - git config --global user.name "MrCHANGE ME" - else - git config --global user.name "$answer" - fi - fi - fi - - # - # interactive setup - # - # if git exists - # if inside a git repo - if [ -d "$PWD/.git" ] - then - [ -n "$(command -v "clear")" ] && clear - echo "$blue" - echo "one moment please ..." - echo "$color_reset" - # run everything in a nix shell for reliability - echo "It looks like you are inside an existing project: ($PWD)" - # ask about mixing in another repository - question="${light_green}Do you want to combine (mixin) another repository into this project? [y/n]${color_reset}";answer="" - while true; do - echo "$question"; read response - case "$response" in - [Yy]* ) answer="yes"; break;; - [Nn]* ) answer="no"; break;; - * ) echo "Please answer yes or no";; - esac - done - echo "" - if [ "$answer" = "no" ] - then - echo "okay" - # check if file exists - if [ -f "./commands/start" ] - then - echo "You can run ${cyan}commands/start${color_reset} to get into the current project environment" - fi - fi - if [ "$answer" = "yes" ] - then - if [ -z "$repo" ] - then - repo="https://github.com/jeff-hykin/fornix" - echo "$light_green" - echo "What is the URL of the repository?" - echo "${cyan}(press enter to go with the default: $repo)" - echo "$color_reset" + # git email + if ! git config --global user.email; then + echo + echo + echo + echo + echo + echo '-------------------------------------------------------------------------------------' + echo "git needs an email (doesnt have to be valid), what email should I tell git?" read answer - if [ -n "$answer" ] - then - repo="$answer" + # if no answer + if [ -z "$answer" ]; then + git config --global user.email "change@this.com" + else + git config --global user.email "$answer" fi fi - - # - # get branch - # - if [ -z "$branch" ] - then - branch="master" - echo "$light_green" - echo "Which branch would you like to get?" - echo "${cyan}(press enter to go with the default: $branch)" - echo "$color_reset" + # git name + if ! git config --global user.name; then + echo + echo + echo + echo + echo + echo "git needs an name (doesnt have to be a real name), what name should I tell git?" read answer - if [ -n "$answer" ] - then - branch="$answer" + # if no answer + if [ -z "$answer" ]; then + git config --global user.name "MrCHANGE ME" + else + git config --global user.name "$answer" fi fi - + + # + # interactive setup + # # - # get mixin name + # if already inside a git repo, ask about merging # - if [ -z "$mixin_remote_name" ] - then - mixin_remote_name="@mixin" + if [ -d "$PWD/.git" ]; then + [ -n "$(command -v "clear")" ] && clear + echo + echo + echo "It looks like you are inside an existing project: ($PWD)" + # ask about mixing in another repository + question="${light_green}Do you want to combine (mixin) another repository into this project? [y/n]${color_reset}";answer="" + while true; do + echo "$question"; read response + case "$response" in + [Yy]* ) answer="yes"; break;; + [Nn]* ) answer="no"; break;; + * ) echo "Please answer yes or no";; + esac + done echo "" - echo "(advanced: press enter to skip)" - echo " When mixing-in another repo, a remote source is added to git" - echo " If you want the git remote to be called something other than $mixin_remote_name" - echo " enter the name now (if not, press enter to continue)" - echo "$color_reset" - read answer - if [ -n "$answer" ] - then - mixin_remote_name="$answer" + if [ "$answer" = "no" ]; then + echo "okay" + # check if file exists + if [ -f "./commands/start" ]; then + echo "You can run ${cyan}commands/start${color_reset} to get into the current project environment" + fi + fi + if [ "$answer" = "yes" ]; then + if [ -z "$repo" ]; then + repo="https://github.com/jeff-hykin/fornix" + echo "$light_green" + echo "What is the URL of the repository?" + echo "${cyan}(press enter to go with the default: $repo)" + echo "$color_reset" + read answer + if [ -n "$answer" ]; then + repo="$answer" + fi + fi + + # + # get branch + # + if [ -z "$branch" ]; then + branch="master" + echo "$light_green" + echo "Which branch would you like to get?" + echo "${cyan}(press enter to go with the default: $branch)" + echo "$color_reset" + read answer + if [ -n "$answer" ]; then + branch="$answer" + fi + fi + + # + # get mixin name + # + if [ -z "$mixin_remote_name" ]; then + mixin_remote_name="@mixin" + echo "" + echo "(advanced: press enter to skip)" + echo " When mixing-in another repo, a remote source is added to git" + echo " If you want the git remote to be called something other than $mixin_remote_name" + echo " enter the name now (if not, press enter to continue)" + echo "$color_reset" + read answer + if [ -n "$answer" ] + then + mixin_remote_name="$answer" + fi + [ -n "$(command -v "clear")" ] && clear + fi + + # + # perform the mixin + # + # clear out anything that used to be there + git remote remove "$mixin_remote_name" 2>/dev/null 1>/dev/null + # add it as a remote and start merging + git remote add "$mixin_remote_name" "$repo" && \ + git fetch "$mixin_remote_name" "$branch" && \ + git pull --allow-unrelated-histories "$mixin_remote_name" "$branch" && \ + git submodule update --init --recursive + + # if failed + if [ "$?" != "0" ] + then + echo "$light_red" + echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| looks like git could not add that mixin :/ |" 1>&2 + echo "| - Make sure the URL and branch name are correct |" 1>&2 + echo "| (if they are correct, hopefully there is error output above that gives a better idea as) |" 1>&2 + echo "| (to why git could not get the repo) |" 1>&2 + echo "| - Here is the command that had an error: |" 1>&2 + echo "| git remote add '$mixin_remote_name' '$repo' && \ " 1>&2 + echo "| git fetch '$mixin_remote_name' '$branch' && \ " 1>&2 + echo "| git pull --allow-unrelated-histories '$mixin_remote_name' '$branch' && \ " 1>&2 + echo "| git submodule update --init --recursive " 1>&2 + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" + else + # check for conflicts + if [ -n "$(git status | grep "You have unmerged paths.")" ] + then + echo "$light_yellow" + echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| Looks like you have a merge conflict (no big deal) |" 1>&2 + echo "| - Get the merge finished, and the mixin will be complete! |" 1>&2 + echo "| |" 1>&2 + echo "| Not sure how to resolve a merge conflict? |" 1>&2 + echo "| - How to resolve merge conflicts in VS Code: |" 1>&2 + echo "| https://www.youtube.com/watch?v=QmKdodJU-js |" 1>&2 + echo "| - How to resolve merge conflicts in command line: |" 1>&2 + echo "| https://phoenixnap.com/kb/how-to-resolve-merge-conflicts-in-git |" 1>&2 + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" + else + echo "$light_yellow" + echo "|-- Success! -----------------------------------------------------------------------------------| $color_reset" + echo "| |" + echo "| - Looks like the mixin was successful! |" + echo "| |" + + # check if file exists + if [ -f "./commands/start" ] + then + echo "| You can run ${cyan}commands/start${color_reset} to get into the project environment now |" + echo "| |" + fi + echo "|-----------------------------------------------------------------------------------------------|" + echo "" + fi + fi fi - [ -n "$(command -v "clear")" ] && clear - fi - # - # perform the mixin + # setup or copy # - # clear out anything that used to be there - git remote remove "$mixin_remote_name" 2>/dev/null 1>/dev/null - # add it as a remote and start merging - git remote add "$mixin_remote_name" "$repo" && \ - git fetch "$mixin_remote_name" "$branch" && \ - git pull --allow-unrelated-histories "$mixin_remote_name" "$branch" && \ - git submodule update --init --recursive - - # if failed - if [ "$?" != "0" ] - then - echo "$light_red" - echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| looks like git could not add that mixin :/ |" 1>&2 - echo "| - Make sure the URL and branch name are correct |" 1>&2 - echo "| (if they are correct, hopefully there is error output above that gives a better idea as) |" 1>&2 - echo "| (to why git could not get the repo) |" 1>&2 - echo "| - Here is the command that had an error: |" 1>&2 - echo "| git remote add '$mixin_remote_name' '$repo' && \ " 1>&2 - echo "| git fetch '$mixin_remote_name' '$branch' && \ " 1>&2 - echo "| git pull --allow-unrelated-histories '$mixin_remote_name' '$branch' && \ " 1>&2 - echo "| git submodule update --init --recursive " 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" else - # check for conflicts - if [ -n "$(git status | grep "You have unmerged paths.")" ] + echo "" + echo "" + echo "" + [ -n "$(command -v "clear")" ] && clear + echo "$light_purple" + echo "You're currently in this folder:" + echo "$color_reset" + echo " $PWD" + echo "$light_green" + echo "I'm going to download the project here, okay?" + echo "$cyan(press enter to continue, Ctrl+C to cancel)" + echo "$color_reset" + read answer + [ -n "$(command -v "clear")" ] && clear + + # + # get repo URL + # + if [ -z "$repo" ] then - echo "$light_yellow" - echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| Looks like you have a merge conflict (no big deal) |" 1>&2 - echo "| - Get the merge finished, and the mixin will be complete! |" 1>&2 - echo "| |" 1>&2 - echo "| Not sure how to resolve a merge conflict? |" 1>&2 - echo "| - How to resolve merge conflicts in VS Code: |" 1>&2 - echo "| https://www.youtube.com/watch?v=QmKdodJU-js |" 1>&2 - echo "| - How to resolve merge conflicts in command line: |" 1>&2 - echo "| https://phoenixnap.com/kb/how-to-resolve-merge-conflicts-in-git |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" - else - echo "$light_yellow" - echo "|-- Success! -----------------------------------------------------------------------------------| $color_reset" - echo "| |" - echo "| - Looks like the mixin was successful! |" - echo "| |" - - # check if file exists - if [ -f "./commands/start" ] + repo="https://github.com/jeff-hykin/fornix" + echo "$light_green" + echo "What is the URL of the repository?" + echo "${cyan}(press enter to go with the default: $repo)" + echo "$color_reset" + read answer + if [ -n "$answer" ] then - echo "| You can run ${cyan}commands/start${color_reset} to get into the project environment now |" - echo "| |" + repo="$answer" fi - echo "|-----------------------------------------------------------------------------------------------|" - echo "" fi - fi - fi - # - # setup or copy - # - else - echo "" - echo "" - echo "" - [ -n "$(command -v "clear")" ] && clear - echo "$light_purple" - echo "You're currently in this folder:" - echo "$color_reset" - echo " $PWD" - echo "$light_green" - echo "I'm going to download the project here, okay?" - echo "$cyan(press enter to continue, Ctrl+C to cancel)" - echo "$color_reset" - read answer - [ -n "$(command -v "clear")" ] && clear - - # - # get repo URL - # - if [ -z "$repo" ] - then - repo="https://github.com/jeff-hykin/fornix" - echo "$light_green" - echo "What is the URL of the repository?" - echo "${cyan}(press enter to go with the default: $repo)" - echo "$color_reset" - read answer - if [ -n "$answer" ] - then - repo="$answer" - fi - fi - - # - # get branch - # - if [ -z "$branch" ] - then - branch="master" - echo "$light_green" - echo "Which branch would you like to get?" - echo "${cyan}(press enter to go with the default: $branch)" - echo "$color_reset" - read answer - if [ -n "$answer" ] - then - branch="$answer" - fi - fi - - # - # setup or copy - # - if [ -z "$setup_or_copy" ] - then - echo "Last question" - question="$light_green""Do you want to setup or copy?${newline}$color_reset 1) if you (or your team) made this => setup${newline} 2) if the URL is a template => copy";answer='' - while true; do - echo "$question"; read response - case "$response" in - [1]* ) answer='setup'; break;; - [2]* ) answer='copy'; break;; - "copy" ) answer='copy'; break;; - "setup" ) answer='setup'; break;; - * ) echo "${newline}${newline}${light_yellow}Please answer with a 1 or 2${color_reset}${newline}${newline}";; - esac - done - setup_or_copy="$answer" - fi - - folder_name="$(basename "$repo")" - if [ -e "$folder_name" ] - then - echo "$light_red" - echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| - I was going to create the project in '$folder_name' " 1>&2 - echo "| But it looks like something named $folder_name already exists " 1>&2 - echo "| - Please move or delete it the re-run the command you just ran |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" - else - # if setup - if [ "$setup_or_copy" = "setup" ] - then - echo "$light_green" - echo "# " - echo "# Setting up the '$branch' brach of $repo" - echo "# " - echo "$color_reset" - if git clone --branch "$branch" "$repo" "$folder_name" && cd "$folder_name" + + # + # get branch + # + if [ -z "$branch" ] then - # check if file exists - if [ -f "./commands/start" ] + branch="master" + echo "$light_green" + echo "Which branch would you like to get?" + echo "${cyan}(press enter to go with the default: $branch)" + echo "$color_reset" + read answer + if [ -n "$answer" ] then - echo "" - echo "Great! looks like it worked" - echo "${light_green}Any time you want to enter your project environment run these two commands" - echo "${cyan}" - echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" - echo " commands/start" - echo "${color_reset}" - echo "Press enter to start the project" - read REPLY - echo "[starting project setup...]" - commands/start + branch="$answer" fi - else + fi + + # + # setup or copy + # + if [ -z "$setup_or_copy" ] + then + echo "Last question" + question="$light_green""Do you want to setup or copy?${newline}$color_reset 1) if you (or your team) made this => setup${newline} 2) if the URL is a template => copy";answer='' + while true; do + echo "$question"; read response + case "$response" in + [1]* ) answer='setup'; break;; + [2]* ) answer='copy'; break;; + "copy" ) answer='copy'; break;; + "setup" ) answer='setup'; break;; + * ) echo "${newline}${newline}${light_yellow}Please answer with a 1 or 2${color_reset}${newline}${newline}";; + esac + done + setup_or_copy="$answer" + fi + + folder_name="$(basename "$repo")" + if [ -e "$folder_name" ] + then echo "$light_red" echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 echo "| |" 1>&2 - echo "| - it looks like there was an error when trying to get the repo |" 1>&2 - echo "| |" 1>&2 - echo "| - here's the command I ran that caused an error |" 1>&2 - echo "| ${cyan}git clone --branch '$branch' '$repo' '$folder_name' && cd '$folder_name'${color_reset}" 1>&2 + echo "| - I was going to create the project in '$folder_name' " 1>&2 + echo "| But it looks like something named $folder_name already exists " 1>&2 + echo "| - Please move or delete it the re-run the command you just ran |" 1>&2 echo "| |" 1>&2 echo "|-----------------------------------------------------------------------------------------------|" 1>&2 echo "" - fi - # if copy - else - echo "$light_green" - echo "# " - echo "# Creating new empty repository" - echo "# " - echo "$color_reset" - mkdir -p "$folder_name" - cd "$folder_name" - git init && \ - echo "$newline$light_green#$newline# Copying the '$branch' branch of $repo${newline}#${color_reset}" && \ - git pull "$repo" "$branch" && { - echo "$light_purple" - echo "Project copied" + else + # if setup + if [ "$setup_or_copy" = "setup" ] + then + echo "$light_green" + echo "# " + echo "# Setting up the '$branch' brach of $repo" + echo "# " echo "$color_reset" - # check if file exists - if [ -f "./commands/start" ] + if git clone --branch "$branch" "$repo" "$folder_name" && cd "$folder_name" then + # check if file exists + if [ -f "./commands/start" ] + then + echo "" + echo "Great! looks like it worked" + echo "${light_green}Any time you want to enter your project environment run these two commands" + echo "${cyan}" + echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" + echo " commands/start" + echo "${color_reset}" + echo "Press enter to start the project" + read REPLY + echo "[starting project setup...]" + commands/start + fi + else + echo "$light_red" + echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| - it looks like there was an error when trying to get the repo |" 1>&2 + echo "| |" 1>&2 + echo "| - here's the command I ran that caused an error |" 1>&2 + echo "| ${cyan}git clone --branch '$branch' '$repo' '$folder_name' && cd '$folder_name'${color_reset}" 1>&2 + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 echo "" - echo "Great! looks like it worked" - echo "${light_green}Any time you want to enter your project environment run these two commands" - echo "${cyan}" - echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" - echo " commands/start" - echo "${color_reset}" - echo "Press enter to start the project" - read REPLY - echo "[starting project setup...]" - commands/start fi - } + # if copy + else + echo "$light_green" + echo "# " + echo "# Creating new empty repository" + echo "# " + echo "$color_reset" + mkdir -p "$folder_name" + cd "$folder_name" + git init && \ + echo "$newline$light_green#$newline# Copying the '$branch' branch of $repo${newline}#${color_reset}" && \ + git pull "$repo" "$branch" && { + echo "$light_purple" + echo "Project copied" + echo "$color_reset" + # check if file exists + if [ -f "./commands/start" ] + then + echo "" + echo "Great! looks like it worked" + echo "${light_green}Any time you want to enter your project environment run these two commands" + echo "${cyan}" + echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" + echo " commands/start" + echo "${color_reset}" + echo "Press enter to start the project" + read REPLY + echo "[starting project setup...]" + commands/start + fi + } + fi + fi fi - fi + # success + return 0 fi fi