diff --git a/dotfiles/.vscode-oss/argv.json b/dotfiles/.vscode-oss/argv.json
new file mode 100644
index 00000000..38b15fae
--- /dev/null
+++ b/dotfiles/.vscode-oss/argv.json
@@ -0,0 +1,20 @@
+// This configuration file allows you to pass permanent command line arguments to VS Code.
+// Only a subset of arguments is currently supported to reduce the likelihood of breaking
+// the installation.
+//
+// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT
+//
+// NOTE: Changing this file requires a restart of VS Code.
+{
+ // Use software rendering instead of hardware accelerated rendering.
+ // This can help in cases where you see rendering issues in VS Code.
+ // "disable-hardware-acceleration": true,
+
+ // Allows to disable crash reporting.
+ // Should restart the app if the value is changed.
+ "enable-crash-reporter": false,
+
+ // Unique id used for correlating crash reports sent from this instance.
+ // Do not edit this value.
+ "crash-reporter-id": "e94ffba9-c836-47a5-9da4-0a7bccb489d3"
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/extensions.json b/dotfiles/.vscode-oss/extensions/extensions.json
new file mode 100644
index 00000000..2e77cd57
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/extensions.json
@@ -0,0 +1 @@
+[{"identifier":{"id":"piousdeer.adwaita-theme","uuid":"93fbc635-4a9a-4ff1-88ba-bf017484c602"},"version":"1.1.0","location":{"$mid":1,"fsPath":"/home/trude/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal","external":"file:///home/trude/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal","path":"/home/trude/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal","scheme":"file"},"relativeLocation":"piousdeer.adwaita-theme-1.1.0-universal","metadata":{"id":"93fbc635-4a9a-4ff1-88ba-bf017484c602","publisherId":"93befe42-7314-4d14-8724-19419a27ed64","publisherDisplayName":"piousdeer","targetPlatform":"universal","updated":false,"isPreReleaseVersion":false,"hasPreReleaseVersion":false,"installedTimestamp":1713908192752,"pinned":false,"source":"gallery"}}]
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/.gitignore b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/.gitignore
new file mode 100644
index 00000000..bee8a64b
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/.gitignore
@@ -0,0 +1 @@
+__pycache__
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/.vsixmanifest b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/.vsixmanifest
new file mode 100644
index 00000000..a254186a
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/.vsixmanifest
@@ -0,0 +1,42 @@
+
+
+
+
+ Adwaita
+ Theme for the GNOME desktop
+ gnome,libadwaita,gtk,gtk4,theme,color-theme,product-icon-theme,__web_extension
+ Themes
+ Public
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ extension/LICENSE.txt
+ extension/assets/icon.png
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/LICENSE.txt b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/LICENSE.txt
new file mode 100755
index 00000000..f288702d
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/LICENSE.txt
@@ -0,0 +1,674 @@
+ 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/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/README.md b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/README.md
new file mode 100644
index 00000000..9d8fc9aa
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/README.md
@@ -0,0 +1,48 @@
+# Adwaita theme for VS Code
+
+Dark and light themes based on GNOME's new Adwaita look and GNOME Builder's syntax highlighting.
+
+
+
+Extra theme variants are included for those who prefer a colorful status bar and/or default syntax highlighting:
+
+
+Fonts shown: JetBrains Mono, SF Pro Text.
+
+## Installation
+
+Get it on [VS Marketplace](https://marketplace.visualstudio.com/items?itemName=piousdeer.adwaita-theme) or [Open VSX](https://open-vsx.org/extension/piousdeer/adwaita-theme).
+
+## Suggested settings
+
+Open the Command Palette and find "Open Settings (JSON)". Here are the recommended settings:
+
+```jsonc
+"window.titleBarStyle": "custom",
+"window.commandCenter": true,
+"window.autoDetectColorScheme": true,
+"workbench.preferredDarkColorTheme": "Adwaita Dark",
+"workbench.preferredLightColorTheme": "Adwaita Light",
+"workbench.productIconTheme": "adwaita",
+"editor.renderLineHighlight": "none",
+"workbench.iconTheme": null,
+"workbench.tree.indent": 12,
+```
+
+Installing [adw-gtk3](https://github.com/lassekongo83/adw-gtk3) will get you a matching native title bar.
+
+[Rounded Window Corners](https://extensions.gnome.org/extension/5237/rounded-window-corners/) GNOME extension can be used to get rounded corners on all windows.
+
+## Related projects
+
+- [wroyca/vscode-gnome](https://github.com/wroyca/vscode-gnome) contains custom CSS that brings VS Code even closer to looking like a libadwaita app.
+
+## Contributing
+
+See [CONTRIBUTING.md](https://github.com/piousdeer/vscode-adwaita/blob/HEAD/CONTRIBUTING.md).
+
+
+
+This project is not affiliated with GNOME Foundation.
+
+[ ](https://pious.dev/donate)
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/icon.png b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/icon.png
new file mode 100755
index 00000000..464a16a0
Binary files /dev/null and b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/icon.png differ
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/icon.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/icon.svg
new file mode 100755
index 00000000..49f4bcb9
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/icon.svg
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot.png b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot.png
new file mode 100755
index 00000000..a204151a
Binary files /dev/null and b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot.png differ
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot.xcf b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot.xcf
new file mode 100644
index 00000000..3ec94d01
Binary files /dev/null and b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot.xcf differ
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot_extra.png b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot_extra.png
new file mode 100755
index 00000000..075e484d
Binary files /dev/null and b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/assets/screenshot_extra.png differ
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/package.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/package.json
new file mode 100644
index 00000000..0e091082
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/package.json
@@ -0,0 +1,96 @@
+{
+ "name": "adwaita-theme",
+ "icon": "assets/icon.png",
+ "displayName": "Adwaita",
+ "description": "Theme for the GNOME desktop",
+ "version": "1.1.0",
+ "publisher": "piousdeer",
+ "license": "GPL-3.0-only",
+ "engines": {
+ "vscode": "^1.65.0"
+ },
+ "categories": [
+ "Themes"
+ ],
+ "keywords": [
+ "gnome",
+ "libadwaita",
+ "gtk",
+ "gtk4"
+ ],
+ "homepage": "https://github.com/piousdeer/vscode-adwaita",
+ "bugs": {
+ "url": "https://github.com/piousdeer/vscode-adwaita/issues"
+ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/piousdeer/vscode-adwaita.git"
+ },
+ "contributes": {
+ "themes": [
+ {
+ "label": "Adwaita Dark",
+ "uiTheme": "vs-dark",
+ "path": "./themes/adwaita-dark.json"
+ },
+ {
+ "label": "Adwaita Dark & colorful status bar",
+ "uiTheme": "vs-dark",
+ "path": "./themes/adwaita-dark-colorful-status-bar.json"
+ },
+ {
+ "label": "Adwaita Dark & default syntax highlighting",
+ "uiTheme": "vs-dark",
+ "path": "./themes/adwaita-dark-default-syntax-highlighting.json"
+ },
+ {
+ "label": "Adwaita Dark & default syntax highlighting & colorful status bar",
+ "uiTheme": "vs-dark",
+ "path": "./themes/adwaita-dark-default-syntax-highlighting-colorful-status-bar.json"
+ },
+ {
+ "label": "Adwaita Light",
+ "uiTheme": "vs",
+ "path": "./themes/adwaita-light.json"
+ },
+ {
+ "label": "Adwaita Light & colorful status bar",
+ "uiTheme": "vs",
+ "path": "./themes/adwaita-light-colorful-status-bar.json"
+ },
+ {
+ "label": "Adwaita Light & default syntax highlighting",
+ "uiTheme": "vs",
+ "path": "./themes/adwaita-light-default-syntax-highlighting.json"
+ },
+ {
+ "label": "Adwaita Light & default syntax highlighting & colorful status bar",
+ "uiTheme": "vs",
+ "path": "./themes/adwaita-light-default-syntax-highlighting-colorful-status-bar.json"
+ }
+ ],
+ "productIconThemes": [
+ {
+ "id": "adwaita",
+ "label": "Adwaita",
+ "path": "./product-icons/adwaita.json"
+ }
+ ]
+ },
+ "scripts": {
+ "build:color-themes": "cd src && python3 build.py",
+ "build:product-icons": "nanoemoji --color_format glyf_colr_1 --family adwaita-icons --output_file product-icons/adwaita-icons.ttf product-icons/scalable/*.svg"
+ },
+ "__metadata": {
+ "id": "93fbc635-4a9a-4ff1-88ba-bf017484c602",
+ "publisherDisplayName": "piousdeer",
+ "publisherId": "93befe42-7314-4d14-8724-19419a27ed64",
+ "isPreReleaseVersion": false,
+ "targetPlatform": "universal",
+ "updated": false,
+ "hasPreReleaseVersion": false,
+ "installedTimestamp": 1713908192752,
+ "pinned": false,
+ "source": "gallery"
+ }
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/adwaita-icons.ttf b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/adwaita-icons.ttf
new file mode 100644
index 00000000..eae6a2b1
Binary files /dev/null and b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/adwaita-icons.ttf differ
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/adwaita.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/adwaita.json
new file mode 100644
index 00000000..bce82a49
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/adwaita.json
@@ -0,0 +1,73 @@
+{
+ "fonts": [
+ {
+ "id": "adwaita-icons",
+ "src": [
+ {
+ "path": "./adwaita-icons.ttf",
+ "format": "woff"
+ }
+ ],
+ "weight": "normal",
+ "style": "normal"
+ }
+ ],
+ "iconDefinitions": {
+ "chrome-close": {
+ "fontCharacter": "\\ea01",
+ "fontId": "adwaita-icons"
+ },
+ "chrome-maximize": {
+ "fontCharacter": "\\ea02",
+ "fontId": "adwaita-icons"
+ },
+ "chrome-minimize": {
+ "fontCharacter": "\\ea03",
+ "fontId": "adwaita-icons"
+ },
+ "chrome-restore": {
+ "fontCharacter": "\\ea04",
+ "fontId": "adwaita-icons"
+ },
+ "menubar-more": {
+ "fontCharacter": "\\eb94",
+ "fontId": "adwaita-icons"
+ },
+ "layout-sidebar-left": {
+ "fontCharacter": "\\ea05",
+ "fontId": "adwaita-icons"
+ },
+ "layout-sidebar-left-off": {
+ "fontCharacter": "\\ea06",
+ "fontId": "adwaita-icons"
+ },
+ "layout-panel": {
+ "fontCharacter": "\\ea07",
+ "fontId": "adwaita-icons"
+ },
+ "layout-panel-off": {
+ "fontCharacter": "\\ea08",
+ "fontId": "adwaita-icons"
+ },
+ "layout-sidebar-right": {
+ "fontCharacter": "\\ea09",
+ "fontId": "adwaita-icons"
+ },
+ "layout-sidebar-right-off": {
+ "fontCharacter": "\\ea0a",
+ "fontId": "adwaita-icons"
+ },
+ "layout": {
+ "fontCharacter": "\\ea0b",
+ "fontId": "adwaita-icons"
+ },
+ "arrow-left": {
+ "fontCharacter": "\\ea0c",
+ "fontId": "adwaita-icons"
+ },
+ "arrow-right": {
+ "fontCharacter": "\\ea0d",
+ "fontId": "adwaita-icons"
+ }
+ }
+}
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea01.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea01.svg
new file mode 100644
index 00000000..370edc13
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea01.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea02.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea02.svg
new file mode 100644
index 00000000..cf53562f
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea02.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea03.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea03.svg
new file mode 100644
index 00000000..f00bec3b
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea03.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea04.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea04.svg
new file mode 100644
index 00000000..defb53da
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea04.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea05.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea05.svg
new file mode 100644
index 00000000..47812e42
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea05.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea06.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea06.svg
new file mode 100644
index 00000000..23876a39
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea06.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea07.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea07.svg
new file mode 100644
index 00000000..b885096a
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea07.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea08.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea08.svg
new file mode 100644
index 00000000..2d67b97c
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea08.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea09.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea09.svg
new file mode 100644
index 00000000..5618795a
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea09.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0a.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0a.svg
new file mode 100644
index 00000000..1d0e34e5
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0a.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0b.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0b.svg
new file mode 100644
index 00000000..32f2d7c7
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0b.svg
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0c.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0c.svg
new file mode 100644
index 00000000..15d8b73b
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0c.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0d.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0d.svg
new file mode 100644
index 00000000..dabb7fdb
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/ea0d.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/eb94.svg b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/eb94.svg
new file mode 100644
index 00000000..4b5e6c0e
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/product-icons/scalable/eb94.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/adwaita_colors.py b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/adwaita_colors.py
new file mode 100755
index 00000000..d6411758
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/adwaita_colors.py
@@ -0,0 +1,340 @@
+#!/usr/bin/env python3
+from xml.etree.ElementTree import ElementTree, parse as parse_xml
+
+
+# A dictionary of GtkSourceView style names mapped to TextMate scopes.
+# Use "Inspect Editor Tokens and Scopes" in VS Code to inspect TM scopes.
+# Use this link to figure out what matches a style name: https://gitlab.gnome.org/GNOME/gtksourceview/-/blob/master/data/language-specs/
+# Use these snippets to test how your rules look: https://gitlab.gnome.org/GNOME/gtksourceview/-/tree/master/tests/syntax-highlighting/
+#
+# If you wish to target all sub-scopes of a scope for a single language, you
+# should use `source. parent-scope` instead of `parent.scope.*.`
+# until wildcards are implemented: https://github.com/microsoft/vscode-textmate/issues/160,
+MAP = {
+ # Default color
+ 'text': [
+ # Empty selector applies to everything
+ '',
+
+ # Embedded expressions (e.g. ${→something←} in a string)
+ 'meta.embedded',
+ # Explicitly default-color variables. A workaround for nix-ide and potentially other
+ # extensions. "${→abc←}" is colored like a string with nix-ide, see: https://github.com/nix-community/vscode-nix-ide/pull/222.
+ 'variable',
+ # Embedded expression punctuation in XML attributes (e.g. in JSX)
+ 'meta.tag.attributes punctuation.section.embedded',
+
+ # Most operators are symbolic. Make them of default color along with some symbolic keywords.
+ # Alphabetical operators should be specifically whitelisted in def:keyword.
+ 'keyword.operator',
+ 'storage.type.function.arrow', # =>
+ # YAML symbolic keywords
+ 'keyword.control.flow.block-scalar.literal',
+ 'keyword.control.flow.block-scalar.folded',
+ 'storage.modifier.chomping-indicator',
+
+ 'storage.type.string', # f, b, r string prefixes (in e.g. Python)
+ 'string.quoted.byte.raw', # b string prefix (in e.g. Rust)
+
+ # Rust
+ 'meta.macro.rules entity.name.function.macro.rust' # macro_rules! →hello_world_macro← {
+ ],
+ 'def:base-n-integer': [
+ # Whole number (in e.g. JS)
+ 'constant.numeric.binary', # 0b1
+ 'constant.numeric.octal', # 0o1
+ 'constant.numeric.hex', # 0x1
+
+ # Just the prefix/postfix (in e.g. C, Go)
+ 'keyword.other.unit.binary', # 0b
+ 'keyword.other.unit.octal', # 0o
+ 'keyword.other.unit.hexadecimal', # 0x
+ 'keyword.other.unit.imaginary', # 0x01→i←
+ 'keyword.other.unit.exponent' # 0x01→p←2
+ ],
+ 'def:boolean': [
+ 'constant.language.boolean', # (in e.g. JS)
+ 'constant.language.bool' # (in e.g. Rust)
+ ],
+ 'def:comment': [
+ 'comment',
+ # YAML
+ 'entity.other.document.begin.yaml', # ---
+ 'entity.other.document.end.yaml' # ...
+ ],
+ 'def:constant': [
+ # Note: `constant` may apply to user-defined constants, which is unwanted
+ 'constant.language', # true, false
+
+ # Character (in e.g. Rust). Note: there should probably be a separate def:character rule,
+ # but the Adwaita scheme doesn't include it and gtksv falls back to def:constant.
+ 'string.quoted.single.char',
+
+ 'support.type.property-name', # { →"key"←: ... } (in e.g. JSON)
+
+ # CSS
+ 'support.constant.property-value.css', # absolute, bold, etc
+ 'source.css keyword.other.unit'
+ ],
+ 'def:decimal': [
+ 'constant.numeric',
+ 'constant.numeric entity.name.type.numeric' # 1→i64← (in e.g. Rust)
+ ],
+ # 'def:deletion': [],
+ 'def:doc-comment-element': [
+ 'comment.block.documentation'
+ ],
+ 'def:floating-point': [
+ 'constant.numeric.float'
+ ],
+ # gtksv is being inconstistent here, e.g. this applies to function names in definitions in
+ # Python, but not in C or JS. I say less color is better than more color, so these are commented out.
+ 'def:function': [
+ # 'meta.function entity.name.function',
+ # 'meta.function.python support.function.magic.python' # __init__, __getitem__, etc
+ ],
+ 'def:heading': [
+ 'markup.heading.markdown'
+ ],
+ 'def:keyword': [
+ # Most keywords (operators are unstyled in `text`)
+ 'keyword',
+ # Specifically include alphabetical operators and keywords
+ 'keyword.operator.new', # new
+ 'keyword.operator.logical.python', # and, or
+ 'source.js keyword.operator.expression', # typeof, instanceof
+ 'source.ts keyword.operator.expression',
+ 'storage.modifier', # →static← void Main(string[] args)
+ 'storage.type.class', # →class← Cat
+ 'storage.type.function', # →function← meow()
+
+ # YAML key names are considered tag names. Tag names and strings are of a very similar color
+ # (https://github.com/piousdeer/vscode-adwaita/issues/4), so we treat them as keywords like
+ # gtksv does.
+ 'entity.name.tag.yaml',
+
+ # Workarounds for extensions that incorrectly mark keywords with `storage.type`
+ # (https://github.com/piousdeer/vscode-adwaita/issues/5)
+ 'source.js storage.type',
+ 'source.ts storage.type',
+ 'source.tsx storage.type',
+ 'source.rust storage.type'
+ ],
+ # 'def:link-destination': [],
+ # 'def:link-text': [],
+ # 'def:list-marker': [],
+ # 'def:net-address': [],
+ 'def:number': [
+ 'constant.numeric'
+ ],
+ 'def:preformatted-section': [],
+ 'def:preprocessor': [
+ 'meta.preprocessor',
+ 'meta.preprocessor keyword.control', # →#include← (override def:keyword)
+ 'punctuation.decorator', # →@<-decorator (in e.g. TypeScript)
+ 'meta.decorator entity.name.function', # @→decorator← (in e.g. TypeScript)
+ 'entity.name.function.decorator', # @decorator (in e.g. Python)
+ 'keyword.control.at-rule.media', # @at-rule (in e.g. CSS)
+ 'constant.character.entity', # &
+ 'punctuation.section.embedded', # ${}
+ 'punctuation.definition.template-expression' # ${} (in e.g. JS)
+ ],
+ 'def:shebang': [
+ 'comment.line.number-sign.shebang'
+ ],
+ 'def:special-char': [
+ 'constant.character.escape' # \n
+ ],
+ 'def:string': [
+ 'string'
+ ],
+ 'def:strong-emphasis': [
+ 'markup.bold.markdown'
+ ],
+ 'def:type': [
+ # Type names
+ 'storage.type', # when defining a variable of a type
+ 'entity.name.type', # when referring to a type
+ 'entity.name.namespace',
+ # C# uses this instead
+ 'keyword.type.cs',
+ # Built-in types
+ 'support.type',
+ # Built-in classes (in e.g. JS)
+ 'support.class.builtin',
+ 'support.class.promise'
+ ],
+ # 'def:underlined': [],
+ # 'def:warning': [],
+
+ # 'c-sharp:format': [],
+ 'c-sharp:preprocessor': [
+ 'meta.preprocessor.cs'
+ ],
+
+ 'c:printf': [
+ 'constant.other.placeholder' # %s
+ ],
+ # 'c:signal-name': [],
+ 'c:storage-class': [
+ # →const← char *var_name = ...
+ 'source.c storage.modifier'
+ ],
+ 'c:type-keyword': [
+ 'source.c storage.type'
+ ],
+
+ 'css:id-selector': [
+ 'entity.other.attribute-name.id.css'
+ ],
+ 'css:property-name': [
+ 'support.type.property-name.css'
+ ],
+ 'css:pseudo-selector': [
+ 'entity.other.attribute-name.pseudo-element.css',
+ 'entity.other.attribute-name.pseudo-class.css',
+ 'meta.selector.css punctuation.section.function'
+ ],
+ 'css:selector-symbol': [
+ # >
+ 'meta.selector.css keyword.operator',
+ # Intentionally different: instead of coloring [, = and ] in elem[attr="val"], color just attr
+ 'entity.other.attribute-name.css'
+ ],
+ # 'css:type-selector': [],
+ 'css:vendor-specific': [
+ # -webkit-property: ...
+ 'support.type.vendored.property-name.css'
+ ],
+
+ 'diff:added-line': [
+ 'markup.inserted.diff'
+ ],
+ 'diff:changed-line': [
+ 'markup.changed'
+ ],
+ 'diff:diff-file': [
+ 'meta.diff.header'
+ ],
+ 'diff:location': [
+ 'meta.diff.range'
+ ],
+ 'diff:removed-line': [
+ 'markup.deleted.diff'
+ ],
+
+ 'go:printf': [
+ 'constant.other.placeholder.go'
+ ],
+
+ 'python:builtin-function': [
+ 'support.function.builtin.python'
+ ],
+ 'python:class-name': [
+ 'entity.name.type.class.python'
+ ],
+ 'python:module-handler': [
+ 'keyword.control.import.python'
+ ],
+
+ 'rust:attribute': [
+ 'meta.attribute.rust',
+ 'meta.attribute.rust keyword.operator'
+ ],
+ 'rust:lifetime': [
+ 'entity.name.type.lifetime.rust'
+ ],
+ 'rust:macro': [
+ 'entity.name.function.macro'
+ ],
+ # 'rust:scope': [], # no selector
+
+ 'xml:attribute-name': [
+ # ...
+ 'meta.tag entity.other.attribute-name',
+ # ... in JSX
+ 'meta.tag keyword.operator.assignment',
+ # ... in HTML and alike
+ 'punctuation.separator.key-value.html',
+ 'punctuation.separator.key-value.svelte',
+ # XML doesn't have a selector for =
+ 'text.xml meta.tag'
+ ],
+ 'xml:attribute-value': [
+ 'meta.tag string'
+ ],
+ 'xml:element-name': [
+ # <→property← name="variant">...
+ 'entity.name.tag',
+ # <→property← name="variant">... in Svelte
+ 'support.class.component.svelte',
+ # →<←property name="variant"→>←...
+ 'punctuation.definition.tag'
+ ],
+ # 'xml:namespace': [],
+ 'xml:processing-instruction': [
+ # →xml← version="1.0" encoding="UTF-8"?>
+ 'text.xml meta.tag.preprocessor entity.name.tag',
+ # →←xml version="1.0" encoding="UTF-8"?→>←
+ 'text.xml meta.tag.preprocessor punctuation.definition.tag'
+ ]
+}
+
+
+def gsv_get_named_colors(scheme: ElementTree):
+ '''Get all colors from a GtkSourceView style scheme.'''
+ colors = {}
+ for color_elem in scheme.findall('color'):
+ colors[color_elem.get('name')] = color_elem.get('value')
+ return colors
+
+
+def gsv_to_textmate(scheme: ElementTree):
+ '''Convert a GtkSourceView style scheme to a TextMate theme.'''
+ colors = gsv_get_named_colors(scheme)
+
+ default_elem = scheme.find('style[@name="text"]')
+ default_foreground = None
+
+ if default_elem is not None:
+ default_foreground = colors[default_elem.get('foreground')]
+ if default_foreground is None:
+ raise Exception('no default color defined in scheme')
+
+ rules = []
+
+ scope_paths = []
+ for style_name in MAP:
+ scope = MAP[style_name]
+ style_elem = scheme.find(f'style[@name="{style_name}"]')
+
+ if style_elem is None:
+ print(f'warning: no {style_name} in scheme')
+ continue
+
+ settings = {}
+
+ if style_elem.get('foreground'):
+ settings['foreground'] = colors[style_elem.get('foreground')]
+
+ font_styles = []
+ for font_style in 'italic', 'bold', 'strikethorugh':
+ if style_elem.get(font_style) == 'true':
+ font_styles.append(font_style)
+ settings['fontStyle'] = ' '.join(font_styles)
+
+ rule = {'scope': scope, 'settings': settings}
+ rules.append(rule)
+
+ return rules
+
+
+def get_adwaita_colors(theme_type):
+ if theme_type == 'dark':
+ file = 'gtksourceview_xml/Adwaita-dark.xml'
+ else:
+ file = 'gtksourceview_xml/Adwaita.xml'
+ scheme = parse_xml(file)
+ named_colors = gsv_get_named_colors(scheme)
+ syntax_colors = gsv_to_textmate(scheme)
+ return named_colors, syntax_colors
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/adwaita_ui_colors.py b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/adwaita_ui_colors.py
new file mode 100644
index 00000000..e8af3f4e
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/adwaita_ui_colors.py
@@ -0,0 +1,117 @@
+from adwaita_colors import get_adwaita_colors
+
+
+named_colors, _syntax_colors = get_adwaita_colors('light')
+
+
+def get_adwaita_ui_colors(theme_type, colorful_status_bar=False):
+ def _(name): return lambda value: named_colors[f'{name}_{value}']
+ dark = theme_type == 'dark'
+
+ ui_colors = {
+ # libadwaita doesn't use shadows to indicate scrollable content.
+ 'scrollbar.shadow': '#00000000',
+
+ 'activityBar.background': '#303030' if dark else '#ebebeb',
+ 'titleBar.activeBackground': '#303030' if dark else '#ebebeb',
+ 'tab.activeBackground': '#303030' if dark else '#ebebeb',
+ 'tab.inactiveBackground': '#262626' if dark else '#e1e1e1',
+ 'editorGroupHeader.tabsBackground': '#262626' if dark else '#e1e1e1',
+ 'breadcrumb.background': '#262626' if dark else '#e1e1e1',
+ 'tab.hoverBackground': '#363636' if dark else '#dcdcdc',
+ # 'tab.activeForeground': '#ffffff'
+ # 'tab.inactiveForeground': '#cccccc'
+
+ 'panel.background': '#242424' if dark else '#fafafa',
+ 'sideBar.background': '#242424' if dark else '#fafafa',
+ 'statusBar.background': '#242424' if dark else '#fafafa',
+ 'statusBar.noFolderBackground': '#242424' if dark else '#fafafa',
+ 'statusBarItem.remoteBackground': '#242424' if dark else '#fafafa',
+ 'panelSectionHeader.background': '#00000000',
+ 'sideBarSectionHeader.background': '#00000000',
+
+ 'activityBar.border': '#454545' if dark else '#cfcfcf',
+ 'editorBracketMatch.border': '#454545' if dark else '#cfcfcf',
+ 'editorGroup.border': '#454545' if dark else '#cfcfcf',
+ 'editorGroupHeader.border': '#454545' if dark else '#cfcfcf',
+ 'editorGroupHeader.tabsBorder': '#454545' if dark else '#cfcfcf',
+ 'panel.border': '#454545' if dark else '#cfcfcf',
+ 'panelSectionHeader.border': '#454545' if dark else '#cfcfcf',
+ 'sideBar.border': '#454545' if dark else '#cfcfcf',
+ 'sideBarSectionHeader.border': '#454545' if dark else '#cfcfcf',
+ 'statusBar.border': '#454545' if dark else '#cfcfcf',
+ 'tab.border': '#454545' if dark else '#cfcfcf',
+ 'titleBar.border': '#454545' if dark else '#cfcfcf',
+ 'window.activeBorder': '#454545' if dark else '#cfcfcf',
+ 'tree.indentGuidesStroke': '#45454599' if dark else '#cfcfcf99',
+ 'editorIndentGuide.activeBackground': '#45454599' if dark else '#cfcfcf99',
+ 'editorIndentGuide.background': '#45454580' if dark else '#cfcfcf80',
+ 'editorRuler.foreground': '#45454580' if dark else '#cfcfcf80',
+ 'editorBracketMatch.background': '#45454520' if dark else '#cfcfcf80',
+ # A dotted outline, not a solid border, but it's the best we can get.
+ # 'list.inactiveFocusOutline': '#454545' if dark else '#cfcfcf',
+
+ 'list.hoverBackground': '#333333' if dark else '#ececec',
+ 'list.inactiveSelectionBackground': '#3a3a3a' if dark else '#e6e6e6',
+ 'input.background': '#3a3a3a' if dark else '#e6e6e6',
+
+ # #323232 is from libadwaita. For dark theme most text is #fff, but in VS Code there's way
+ # more text displayed at the same time, so I find a softer color works better.
+ 'statusBar.foreground': '#cccccc' if dark else '#323232',
+ 'statusBar.noFolderForeground': '#cccccc' if dark else '#323232',
+ 'statusBar.debuggingForeground': '#cccccc' if dark else '#323232',
+ 'statusBarItem.remoteForeground': '#cccccc' if dark else '#323232',
+ 'sideBar.foreground': '#cccccc' if dark else '#323232',
+ 'panelTitle.activeBorder': '#cccccc' if dark else '#323232',
+ 'panelTitle.activeForeground': '#cccccc' if dark else '#323232',
+
+ 'activityBar.activeBorder': '#00000000',
+ 'activityBarBadge.background': _('blue')(3),
+ 'button.background': _('blue')(3),
+ # A border of the same color makes buttons slightly taller.
+ 'button.border': _('blue')(3),
+ 'list.activeSelectionBackground': _('blue')(6 if dark else 4),
+ 'list.highlightForeground': '#ffffff' if dark else '#000000',
+ 'list.activeSelectionForeground': '#ffffff',
+ 'list.activeSelectionIconForeground': '#ffffff',
+ 'list.focusHighlightForeground': '#ffffff',
+
+
+ 'editorGutter.addedBackground': _('green')(6 if dark else 3),
+ 'editorGutter.deletedBackground': _('red')(5 if dark else 4),
+ 'editorGutter.modifiedBackground': _('blue')(5 if dark else 2),
+ 'gitDecoration.addedResourceForeground': _('green')(1 if dark else 5) + 'dd',
+ 'gitDecoration.renamedResourceForeground': _('green')(1 if dark else 5) + 'dd',
+ 'gitDecoration.untrackedResourceForeground': _('green')(1 if dark else 5) + 'dd',
+ 'gitDecoration.modifiedResourceForeground': _('orange')(1 if dark else 4) + 'dd',
+ 'gitDecoration.stageModifiedResourceForeground': _('orange')(1 if dark else 4) + 'dd',
+ 'gitDecoration.deletedResourceForeground': _('red')(1) + 'dd',
+ 'gitDecoration.stageDeletedResourceForeground': _('red')(1) + 'dd',
+ 'gitDecoration.ignoredResourceForeground': _('dark')(1),
+
+ # Color-picked colors
+ 'commandCenter.background': '#444444' if dark else '#d9d9d9',
+ 'commandCenter.border': '#00000000',
+ 'button.hoverBackground': '#4990e7',
+ 'focusBorder': '#5f7999',
+
+ # Hand-picked colors
+ 'activityBar.foreground': '#ffffff' if dark else '#000000',
+ 'editor.background': '#1d1d1d' if dark else '#ffffff',
+ 'editorLineNumber.foreground': '#666666' if dark else '#32323280',
+ 'widget.shadow': '#00000033' if dark else '#00000022',
+ }
+
+ if colorful_status_bar:
+ ui_colors |= {
+ 'statusBar.background': _('blue')(4),
+ 'statusBar.debuggingBackground': _('orange')(5),
+ 'statusBar.noFolderBackground': _('purple')(5),
+ 'statusBarItem.remoteBackground': _('green')(6),
+ 'statusBar.foreground': '#ffffff',
+ 'statusBar.debuggingForeground': '#ffffff',
+ 'statusBar.noFolderForeground': '#ffffff',
+ 'statusBarItem.remoteForeground': '#ffffff',
+ }
+
+ return ui_colors
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/build.py b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/build.py
new file mode 100755
index 00000000..01b8871e
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/build.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python3
+import json
+import re
+import itertools
+from adwaita_colors import get_adwaita_colors
+from adwaita_ui_colors import get_adwaita_ui_colors
+
+
+def load_jsonc(path):
+ '''Read JSON with comments.'''
+ original = open(path).read()
+ stripped = re.sub(r'[^:]//.+$', '', original, flags=re.MULTILINE)
+ return json.loads(stripped)
+
+
+def get_default_syntax_colors(theme_type):
+ return load_jsonc(f'default_themes/{theme_type}.jsonc')['tokenColors']
+
+
+extra_syntax_colors = [
+ {
+ 'scope': ['markup.italic.markdown'],
+ 'settings': {
+ 'fontStyle': 'italic'
+ }
+ },
+ {
+ 'scope': ['markup.strikethrough.markdown'],
+ 'settings': {
+ 'fontStyle': 'strikethrough'
+ }
+ }
+]
+
+package_json_entry = {
+ 'contributes': {
+ 'themes': []
+ }
+}
+
+for (
+ theme_type,
+ syntax_colors_type,
+ colorful_status_bar
+) in itertools.product(
+ ('dark', 'light'),
+ ('adwaita', 'default'),
+ (False, True)
+):
+ name = f'Adwaita {theme_type.capitalize()}'
+ ui_colors = get_adwaita_ui_colors(theme_type, colorful_status_bar)
+
+ if syntax_colors_type == 'adwaita':
+ _named_colors, syntax_colors = get_adwaita_colors(theme_type)
+ syntax_colors += extra_syntax_colors
+ else:
+ syntax_colors = get_default_syntax_colors(theme_type)
+ name += ' & default syntax highlighting'
+
+ if colorful_status_bar:
+ name += ' & colorful status bar'
+
+ theme = {
+ '$schema': 'vscode://schemas/color-theme',
+ 'name': name,
+ 'type': 'light',
+ 'colors': ui_colors,
+ 'tokenColors': syntax_colors
+ }
+
+ file_name = f'{name.lower().replace(" ", "-").replace("-&-", "-")}.json'
+ json.dump(theme, open(f'../themes/{file_name}', 'w'), indent=2)
+
+ package_json_entry['contributes']['themes'].append({
+ 'label': name,
+ 'uiTheme': 'vs-dark' if theme_type == 'dark' else 'vs',
+ 'path': f'./themes/{file_name}'
+ })
+
+print('Suggested package.json entry:')
+print(json.dumps(package_json_entry, indent=2)[2:-2])
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/README.md b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/README.md
new file mode 100644
index 00000000..bd634021
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/README.md
@@ -0,0 +1 @@
+These themes were generated by running "Developer: Generate Color Theme From Current Settings" on VS Code 1.65.2.
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/dark.jsonc b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/dark.jsonc
new file mode 100644
index 00000000..aef25280
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/dark.jsonc
@@ -0,0 +1,1201 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "type": "dark",
+ "colors": {
+ "activityBarBadge.background": "#007acc",
+ "editor.background": "#1e1e1e",
+ "editor.foreground": "#d4d4d4",
+ "editor.inactiveSelectionBackground": "#3a3d41",
+ "editor.selectionHighlightBackground": "#add6ff26",
+ "editorIndentGuide.activeBackground": "#707070",
+ "editorIndentGuide.background": "#404040",
+ "input.placeholderForeground": "#a6a6a6",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.dropBackground": "#383b3d",
+ "menu.background": "#252526",
+ "menu.foreground": "#cccccc",
+ "ports.iconRunningProcessForeground": "#369432",
+ "sideBarSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.border": "#cccccc33",
+ "sideBarTitle.foreground": "#bbbbbb",
+ "statusBarItem.remoteBackground": "#16825d",
+ "statusBarItem.remoteForeground": "#ffffff",
+ "tab.lastPinnedBorder": "#cccccc33"
+ //"activityBar.activeBorder": "#ffffff",
+ //"activityBar.background": "#333333",
+ //"activityBar.dropBorder": "#ffffff",
+ //"activityBar.foreground": "#ffffff",
+ //"activityBar.inactiveForeground": "#ffffff66",
+ //"activityBarBadge.foreground": "#ffffff",
+ //"badge.background": "#4d4d4d",
+ //"badge.foreground": "#ffffff",
+ //"banner.background": "#094771",
+ //"banner.foreground": "#ffffff",
+ //"banner.iconForeground": "#3794ff",
+ //"breadcrumb.activeSelectionForeground": "#e0e0e0",
+ //"breadcrumb.background": "#1e1e1e",
+ //"breadcrumb.focusForeground": "#e0e0e0",
+ //"breadcrumb.foreground": "#cccccccc",
+ //"breadcrumbPicker.background": "#252526",
+ //"button.background": "#0e639c",
+ //"button.foreground": "#ffffff",
+ //"button.hoverBackground": "#1177bb",
+ //"button.secondaryBackground": "#3a3d41",
+ //"button.secondaryForeground": "#ffffff",
+ //"button.secondaryHoverBackground": "#45494e",
+ //"charts.blue": "#3794ff",
+ //"charts.foreground": "#cccccc",
+ //"charts.green": "#89d185",
+ //"charts.lines": "#cccccc80",
+ //"charts.orange": "#d18616",
+ //"charts.purple": "#b180d7",
+ //"charts.red": "#f14c4c",
+ //"charts.yellow": "#cca700",
+ //"checkbox.background": "#3c3c3c",
+ //"checkbox.border": "#3c3c3c",
+ //"checkbox.foreground": "#f0f0f0",
+ //"debugConsole.errorForeground": "#f48771",
+ //"debugConsole.infoForeground": "#3794ff",
+ //"debugConsole.sourceForeground": "#cccccc",
+ //"debugConsole.warningForeground": "#cca700",
+ //"debugConsoleInputIcon.foreground": "#cccccc",
+ //"debugExceptionWidget.background": "#420b0d",
+ //"debugExceptionWidget.border": "#a31515",
+ //"debugIcon.breakpointCurrentStackframeForeground": "#ffcc00",
+ //"debugIcon.breakpointDisabledForeground": "#848484",
+ //"debugIcon.breakpointForeground": "#e51400",
+ //"debugIcon.breakpointStackframeForeground": "#89d185",
+ //"debugIcon.breakpointUnverifiedForeground": "#848484",
+ //"debugIcon.continueForeground": "#75beff",
+ //"debugIcon.disconnectForeground": "#f48771",
+ //"debugIcon.pauseForeground": "#75beff",
+ //"debugIcon.restartForeground": "#89d185",
+ //"debugIcon.startForeground": "#89d185",
+ //"debugIcon.stepBackForeground": "#75beff",
+ //"debugIcon.stepIntoForeground": "#75beff",
+ //"debugIcon.stepOutForeground": "#75beff",
+ //"debugIcon.stepOverForeground": "#75beff",
+ //"debugIcon.stopForeground": "#f48771",
+ //"debugTokenExpression.boolean": "#4e94ce",
+ //"debugTokenExpression.error": "#f48771",
+ //"debugTokenExpression.name": "#c586c0",
+ //"debugTokenExpression.number": "#b5cea8",
+ //"debugTokenExpression.string": "#ce9178",
+ //"debugTokenExpression.value": "#cccccc99",
+ //"debugToolBar.background": "#333333",
+ //"debugView.exceptionLabelBackground": "#6c2022",
+ //"debugView.exceptionLabelForeground": "#cccccc",
+ //"debugView.stateLabelBackground": "#88888844",
+ //"debugView.stateLabelForeground": "#cccccc",
+ //"debugView.valueChangedHighlight": "#569cd6",
+ //"descriptionForeground": "#ccccccb3",
+ //"diffEditor.diagonalFill": "#cccccc33",
+ //"diffEditor.insertedTextBackground": "#9bb95533",
+ //"diffEditor.removedTextBackground": "#ff000033",
+ //"dropdown.background": "#3c3c3c",
+ //"dropdown.border": "#3c3c3c",
+ //"dropdown.foreground": "#f0f0f0",
+ //"editor.findMatchBackground": "#515c6a",
+ //"editor.findMatchHighlightBackground": "#ea5c0055",
+ //"editor.findRangeHighlightBackground": "#3a3d4166",
+ //"editor.focusedStackFrameHighlightBackground": "#7abd7a4d",
+ //"editor.foldBackground": "#264f784d",
+ //"editor.hoverHighlightBackground": "#264f7840",
+ //"editor.inlineValuesBackground": "#ffc80033",
+ //"editor.inlineValuesForeground": "#ffffff80",
+ //"editor.lineHighlightBorder": "#282828",
+ //"editor.linkedEditingBackground": "#ff00004d",
+ //"editor.rangeHighlightBackground": "#ffffff0b",
+ //"editor.selectionBackground": "#264f78",
+ //"editor.snippetFinalTabstopHighlightBorder": "#525252",
+ //"editor.snippetTabstopHighlightBackground": "#7c7c7c4d",
+ //"editor.stackFrameHighlightBackground": "#ffff0033",
+ //"editor.symbolHighlightBackground": "#ea5c0055",
+ //"editor.wordHighlightBackground": "#575757b8",
+ //"editor.wordHighlightStrongBackground": "#004972b8",
+ //"editorActiveLineNumber.foreground": "#c6c6c6",
+ //"editorBracketHighlight.foreground1": "#ffd700",
+ //"editorBracketHighlight.foreground2": "#da70d6",
+ //"editorBracketHighlight.foreground3": "#179fff",
+ //"editorBracketHighlight.foreground4": "#00000000",
+ //"editorBracketHighlight.foreground5": "#00000000",
+ //"editorBracketHighlight.foreground6": "#00000000",
+ //"editorBracketHighlight.unexpectedBracket.foreground": "#ff1212cc",
+ //"editorBracketMatch.background": "#0064001a",
+ //"editorBracketMatch.border": "#888888",
+ //"editorBracketPairGuide.activeBackground1": "#00000000",
+ //"editorBracketPairGuide.activeBackground2": "#00000000",
+ //"editorBracketPairGuide.activeBackground3": "#00000000",
+ //"editorBracketPairGuide.activeBackground4": "#00000000",
+ //"editorBracketPairGuide.activeBackground5": "#00000000",
+ //"editorBracketPairGuide.activeBackground6": "#00000000",
+ //"editorBracketPairGuide.background1": "#00000000",
+ //"editorBracketPairGuide.background2": "#00000000",
+ //"editorBracketPairGuide.background3": "#00000000",
+ //"editorBracketPairGuide.background4": "#00000000",
+ //"editorBracketPairGuide.background5": "#00000000",
+ //"editorBracketPairGuide.background6": "#00000000",
+ //"editorCodeLens.foreground": "#999999",
+ //"editorCursor.foreground": "#aeafad",
+ //"editorError.foreground": "#f14c4c",
+ //"editorGhostText.foreground": "#ffffff56",
+ //"editorGroup.border": "#444444",
+ //"editorGroup.dropBackground": "#53595d80",
+ //"editorGroupHeader.noTabsBackground": "#1e1e1e",
+ //"editorGroupHeader.tabsBackground": "#252526",
+ //"editorGutter.addedBackground": "#587c0c",
+ //"editorGutter.background": "#1e1e1e",
+ //"editorGutter.commentRangeForeground": "#c5c5c5",
+ //"editorGutter.deletedBackground": "#94151b",
+ //"editorGutter.foldingControlForeground": "#c5c5c5",
+ //"editorGutter.modifiedBackground": "#0c7d9d",
+ //"editorHint.foreground": "#eeeeeeb3",
+ //"editorHoverWidget.background": "#252526",
+ //"editorHoverWidget.border": "#454545",
+ //"editorHoverWidget.foreground": "#cccccc",
+ //"editorHoverWidget.highlightForeground": "#18a3ff",
+ //"editorHoverWidget.statusBarBackground": "#2c2c2d",
+ //"editorInfo.foreground": "#3794ff",
+ //"editorInlayHint.background": "#4d4d4d99",
+ //"editorInlayHint.foreground": "#ffffffcc",
+ //"editorInlayHint.parameterBackground": "#4d4d4d99",
+ //"editorInlayHint.parameterForeground": "#ffffffcc",
+ //"editorInlayHint.typeBackground": "#4d4d4d99",
+ //"editorInlayHint.typeForeground": "#ffffffcc",
+ //"editorLightBulb.foreground": "#ffcc00",
+ //"editorLightBulbAutoFix.foreground": "#75beff",
+ //"editorLineNumber.activeForeground": "#c6c6c6",
+ //"editorLineNumber.foreground": "#858585",
+ //"editorLink.activeForeground": "#4e94ce",
+ //"editorMarkerNavigation.background": "#1e1e1e",
+ //"editorMarkerNavigationError.background": "#f14c4c",
+ //"editorMarkerNavigationError.headerBackground": "#f14c4c1a",
+ //"editorMarkerNavigationInfo.background": "#3794ff",
+ //"editorMarkerNavigationInfo.headerBackground": "#3794ff1a",
+ //"editorMarkerNavigationWarning.background": "#cca700",
+ //"editorMarkerNavigationWarning.headerBackground": "#cca7001a",
+ //"editorOverviewRuler.addedForeground": "#587c0c99",
+ //"editorOverviewRuler.border": "#7f7f7f4d",
+ //"editorOverviewRuler.bracketMatchForeground": "#a0a0a0",
+ //"editorOverviewRuler.commonContentForeground": "#60606066",
+ //"editorOverviewRuler.currentContentForeground": "#40c8ae80",
+ //"editorOverviewRuler.deletedForeground": "#94151b99",
+ //"editorOverviewRuler.errorForeground": "#ff1212b3",
+ //"editorOverviewRuler.findMatchForeground": "#d186167e",
+ //"editorOverviewRuler.incomingContentForeground": "#40a6ff80",
+ //"editorOverviewRuler.infoForeground": "#3794ff",
+ //"editorOverviewRuler.modifiedForeground": "#0c7d9d99",
+ //"editorOverviewRuler.rangeHighlightForeground": "#007acc99",
+ //"editorOverviewRuler.selectionHighlightForeground": "#a0a0a0cc",
+ //"editorOverviewRuler.warningForeground": "#cca700",
+ //"editorOverviewRuler.wordHighlightForeground": "#a0a0a0cc",
+ //"editorOverviewRuler.wordHighlightStrongForeground": "#c0a0c0cc",
+ //"editorPane.background": "#1e1e1e",
+ //"editorRuler.foreground": "#5a5a5a",
+ //"editorSuggestWidget.background": "#252526",
+ //"editorSuggestWidget.border": "#454545",
+ //"editorSuggestWidget.focusHighlightForeground": "#18a3ff",
+ //"editorSuggestWidget.foreground": "#d4d4d4",
+ //"editorSuggestWidget.highlightForeground": "#18a3ff",
+ //"editorSuggestWidget.selectedBackground": "#094771",
+ //"editorSuggestWidget.selectedForeground": "#ffffff",
+ //"editorSuggestWidget.selectedIconForeground": "#ffffff",
+ //"editorSuggestWidgetStatus.foreground": "#d4d4d480",
+ //"editorUnicodeHighlight.border": "#bd9b03",
+ //"editorUnnecessaryCode.opacity": "#000000aa",
+ //"editorWarning.foreground": "#cca700",
+ //"editorWhitespace.foreground": "#e3e4e229",
+ //"editorWidget.background": "#252526",
+ //"editorWidget.border": "#454545",
+ //"editorWidget.foreground": "#cccccc",
+ //"errorForeground": "#f48771",
+ //"extensionBadge.remoteBackground": "#007acc",
+ //"extensionBadge.remoteForeground": "#ffffff",
+ //"extensionButton.prominentBackground": "#0e639c",
+ //"extensionButton.prominentForeground": "#ffffff",
+ //"extensionButton.prominentHoverBackground": "#1177bb",
+ //"extensionIcon.preReleaseForeground": "#1d9271",
+ //"extensionIcon.starForeground": "#ff8e00",
+ //"extensionIcon.verifiedForeground": "#3794ff",
+ //"focusBorder": "#007fd4",
+ //"foreground": "#cccccc",
+ //"gitDecoration.addedResourceForeground": "#81b88b",
+ //"gitDecoration.conflictingResourceForeground": "#e4676b",
+ //"gitDecoration.deletedResourceForeground": "#c74e39",
+ //"gitDecoration.ignoredResourceForeground": "#8c8c8c",
+ //"gitDecoration.modifiedResourceForeground": "#e2c08d",
+ //"gitDecoration.renamedResourceForeground": "#73c991",
+ //"gitDecoration.stageDeletedResourceForeground": "#c74e39",
+ //"gitDecoration.stageModifiedResourceForeground": "#e2c08d",
+ //"gitDecoration.submoduleResourceForeground": "#8db9e2",
+ //"gitDecoration.untrackedResourceForeground": "#73c991",
+ //"gitlens.closedAutolinkedIssueIconColor": "#a371f7",
+ //"gitlens.closedPullRequestIconColor": "#f85149",
+ //"gitlens.decorations.addedForegroundColor": "#81b88b",
+ //"gitlens.decorations.branchAheadForegroundColor": "#35b15e",
+ //"gitlens.decorations.branchBehindForegroundColor": "#b15e35",
+ //"gitlens.decorations.branchDivergedForegroundColor": "#d8af1b",
+ //"gitlens.decorations.branchMissingUpstreamForegroundColor": "#c74e39",
+ //"gitlens.decorations.branchUnpublishedForegroundColor": "#35b15e",
+ //"gitlens.decorations.copiedForegroundColor": "#73c991",
+ //"gitlens.decorations.deletedForegroundColor": "#c74e39",
+ //"gitlens.decorations.ignoredForegroundColor": "#8c8c8c",
+ //"gitlens.decorations.modifiedForegroundColor": "#e2c08d",
+ //"gitlens.decorations.renamedForegroundColor": "#73c991",
+ //"gitlens.decorations.untrackedForegroundColor": "#73c991",
+ //"gitlens.decorations.worktreeView.hasUncommittedChangesForegroundColor": "#e2c08d",
+ //"gitlens.gutterBackgroundColor": "#ffffff13",
+ //"gitlens.gutterForegroundColor": "#bebebe",
+ //"gitlens.gutterUncommittedForegroundColor": "#00bcf299",
+ //"gitlens.lineHighlightBackgroundColor": "#00bcf233",
+ //"gitlens.lineHighlightOverviewRulerColor": "#00bcf299",
+ //"gitlens.mergedPullRequestIconColor": "#a371f7",
+ //"gitlens.openAutolinkedIssueIconColor": "#3fb950",
+ //"gitlens.openPullRequestIconColor": "#3fb950",
+ //"gitlens.trailingLineBackgroundColor": "#00000000",
+ //"gitlens.trailingLineForegroundColor": "#99999959",
+ //"gitlens.unpublishedChangesIconColor": "#35b15e",
+ //"gitlens.unpublishedCommitIconColor": "#35b15e",
+ //"gitlens.unpulledChangesIconColor": "#b15e35",
+ //"icon.foreground": "#c5c5c5",
+ //"input.background": "#3c3c3c",
+ //"input.foreground": "#cccccc",
+ //"inputOption.activeBackground": "#007fd466",
+ //"inputOption.activeBorder": "#007acc00",
+ //"inputOption.activeForeground": "#ffffff",
+ //"inputOption.hoverBackground": "#5a5d5e80",
+ //"inputValidation.errorBackground": "#5a1d1d",
+ //"inputValidation.errorBorder": "#be1100",
+ //"inputValidation.infoBackground": "#063b49",
+ //"inputValidation.infoBorder": "#007acc",
+ //"inputValidation.warningBackground": "#352a05",
+ //"inputValidation.warningBorder": "#b89500",
+ //"interactive.activeCodeBorder": "#3794ff",
+ //"interactive.inactiveCodeBorder": "#37373d",
+ //"keybindingLabel.background": "#8080802b",
+ //"keybindingLabel.border": "#33333399",
+ //"keybindingLabel.bottomBorder": "#44444499",
+ //"keybindingLabel.foreground": "#cccccc",
+ //"keybindingTable.headerBackground": "#cccccc0a",
+ //"keybindingTable.rowsBackground": "#cccccc0a",
+ //"list.activeSelectionBackground": "#094771",
+ //"list.activeSelectionForeground": "#ffffff",
+ //"list.deemphasizedForeground": "#8c8c8c",
+ //"list.errorForeground": "#f88070",
+ //"list.filterMatchBackground": "#ea5c0055",
+ //"list.focusHighlightForeground": "#18a3ff",
+ //"list.focusOutline": "#007fd4",
+ //"list.highlightForeground": "#18a3ff",
+ //"list.hoverBackground": "#2a2d2e",
+ //"list.inactiveSelectionBackground": "#37373d",
+ //"list.invalidItemForeground": "#b89500",
+ //"list.warningForeground": "#cca700",
+ //"listFilterWidget.background": "#653723",
+ //"listFilterWidget.noMatchesOutline": "#be1100",
+ //"listFilterWidget.outline": "#00000000",
+ //"menu.selectionBackground": "#094771",
+ //"menu.selectionForeground": "#ffffff",
+ //"menu.separatorBackground": "#bbbbbb",
+ //"menubar.selectionBackground": "#ffffff1a",
+ //"menubar.selectionForeground": "#cccccc",
+ //"merge.commonContentBackground": "#60606029",
+ //"merge.commonHeaderBackground": "#60606066",
+ //"merge.currentContentBackground": "#40c8ae33",
+ //"merge.currentHeaderBackground": "#40c8ae80",
+ //"merge.incomingContentBackground": "#40a6ff33",
+ //"merge.incomingHeaderBackground": "#40a6ff80",
+ //"minimap.errorHighlight": "#ff1212b3",
+ //"minimap.findMatchHighlight": "#d18616",
+ //"minimap.foregroundOpacity": "#000000",
+ //"minimap.selectionHighlight": "#264f78",
+ //"minimap.selectionOccurrenceHighlight": "#676767",
+ //"minimap.warningHighlight": "#cca700",
+ //"minimapGutter.addedBackground": "#587c0c",
+ //"minimapGutter.deletedBackground": "#94151b",
+ //"minimapGutter.modifiedBackground": "#0c7d9d",
+ //"minimapSlider.activeBackground": "#bfbfbf33",
+ //"minimapSlider.background": "#79797933",
+ //"minimapSlider.hoverBackground": "#64646459",
+ //"notebook.cellBorderColor": "#37373d",
+ //"notebook.cellEditorBackground": "#252526",
+ //"notebook.cellInsertionIndicator": "#007fd4",
+ //"notebook.cellStatusBarItemHoverBackground": "#ffffff26",
+ //"notebook.cellToolbarSeparator": "#80808059",
+ //"notebook.focusedCellBorder": "#007fd4",
+ //"notebook.focusedEditorBorder": "#007fd4",
+ //"notebook.inactiveFocusedCellBorder": "#37373d",
+ //"notebook.selectedCellBackground": "#37373d",
+ //"notebook.selectedCellBorder": "#37373d",
+ //"notebook.symbolHighlightBackground": "#ffffff0b",
+ //"notebookScrollbarSlider.activeBackground": "#bfbfbf66",
+ //"notebookScrollbarSlider.background": "#79797966",
+ //"notebookScrollbarSlider.hoverBackground": "#646464b3",
+ //"notebookStatusErrorIcon.foreground": "#f48771",
+ //"notebookStatusRunningIcon.foreground": "#cccccc",
+ //"notebookStatusSuccessIcon.foreground": "#89d185",
+ //"notificationCenterHeader.background": "#303031",
+ //"notificationLink.foreground": "#3794ff",
+ //"notifications.background": "#252526",
+ //"notifications.border": "#303031",
+ //"notifications.foreground": "#cccccc",
+ //"notificationsErrorIcon.foreground": "#f14c4c",
+ //"notificationsInfoIcon.foreground": "#3794ff",
+ //"notificationsWarningIcon.foreground": "#cca700",
+ //"panel.background": "#1e1e1e",
+ //"panel.border": "#80808059",
+ //"panel.dropBorder": "#e7e7e7",
+ //"panelSection.border": "#80808059",
+ //"panelSection.dropBackground": "#53595d80",
+ //"panelSectionHeader.background": "#80808033",
+ //"panelTitle.activeBorder": "#e7e7e7",
+ //"panelTitle.activeForeground": "#e7e7e7",
+ //"panelTitle.inactiveForeground": "#e7e7e799",
+ //"peekView.border": "#3794ff",
+ //"peekViewEditor.background": "#001f33",
+ //"peekViewEditor.matchHighlightBackground": "#ff8f0099",
+ //"peekViewEditorGutter.background": "#001f33",
+ //"peekViewResult.background": "#252526",
+ //"peekViewResult.fileForeground": "#ffffff",
+ //"peekViewResult.lineForeground": "#bbbbbb",
+ //"peekViewResult.matchHighlightBackground": "#ea5c004d",
+ //"peekViewResult.selectionBackground": "#3399ff33",
+ //"peekViewResult.selectionForeground": "#ffffff",
+ //"peekViewTitle.background": "#3794ff1a",
+ //"peekViewTitleDescription.foreground": "#ccccccb3",
+ //"peekViewTitleLabel.foreground": "#ffffff",
+ //"pickerGroup.border": "#3f3f46",
+ //"pickerGroup.foreground": "#3794ff",
+ //"problemsErrorIcon.foreground": "#f14c4c",
+ //"problemsInfoIcon.foreground": "#3794ff",
+ //"problemsWarningIcon.foreground": "#cca700",
+ //"progressBar.background": "#0e70c0",
+ //"quickInput.background": "#252526",
+ //"quickInput.foreground": "#cccccc",
+ //"quickInputList.focusBackground": "#094771",
+ //"quickInputList.focusForeground": "#ffffff",
+ //"quickInputList.focusIconForeground": "#ffffff",
+ //"quickInputTitle.background": "#ffffff1b",
+ //"sash.hoverBorder": "#007fd4",
+ //"scm.providerBorder": "#454545",
+ //"scrollbar.shadow": "#000000",
+ //"scrollbarSlider.activeBackground": "#bfbfbf66",
+ //"scrollbarSlider.background": "#79797966",
+ //"scrollbarSlider.hoverBackground": "#646464b3",
+ //"searchEditor.findMatchBackground": "#ea5c0038",
+ //"settings.checkboxBackground": "#3c3c3c",
+ //"settings.checkboxBorder": "#3c3c3c",
+ //"settings.checkboxForeground": "#f0f0f0",
+ //"settings.dropdownBackground": "#3c3c3c",
+ //"settings.dropdownBorder": "#3c3c3c",
+ //"settings.dropdownForeground": "#f0f0f0",
+ //"settings.dropdownListBorder": "#454545",
+ //"settings.focusedRowBackground": "#2a2d2e99",
+ //"settings.focusedRowBorder": "#ffffff1f",
+ //"settings.headerBorder": "#80808059",
+ //"settings.headerForeground": "#e7e7e7",
+ //"settings.modifiedItemIndicator": "#0c7d9d",
+ //"settings.numberInputBackground": "#3c3c3c",
+ //"settings.numberInputForeground": "#cccccc",
+ //"settings.rowHoverBackground": "#2a2d2e4d",
+ //"settings.sashBorder": "#80808059",
+ //"settings.textInputBackground": "#3c3c3c",
+ //"settings.textInputForeground": "#cccccc",
+ //"sideBar.background": "#252526",
+ //"sideBar.dropBackground": "#53595d80",
+ //"sideBySideEditor.horizontalBorder": "#444444",
+ //"sideBySideEditor.verticalBorder": "#444444",
+ //"statusBar.background": "#007acc",
+ //"statusBar.debuggingBackground": "#cc6633",
+ //"statusBar.debuggingForeground": "#ffffff",
+ //"statusBar.focusBorder": "#ffffff",
+ //"statusBar.foreground": "#ffffff",
+ //"statusBar.noFolderBackground": "#68217a",
+ //"statusBar.noFolderForeground": "#ffffff",
+ //"statusBarItem.activeBackground": "#ffffff2e",
+ //"statusBarItem.compactHoverBackground": "#ffffff33",
+ //"statusBarItem.errorBackground": "#c72e0f",
+ //"statusBarItem.errorForeground": "#ffffff",
+ //"statusBarItem.focusBorder": "#ffffff",
+ //"statusBarItem.hoverBackground": "#ffffff1f",
+ //"statusBarItem.prominentBackground": "#00000080",
+ //"statusBarItem.prominentForeground": "#ffffff",
+ //"statusBarItem.prominentHoverBackground": "#0000004d",
+ //"statusBarItem.warningBackground": "#7a6400",
+ //"statusBarItem.warningForeground": "#ffffff",
+ //"symbolIcon.arrayForeground": "#cccccc",
+ //"symbolIcon.booleanForeground": "#cccccc",
+ //"symbolIcon.classForeground": "#ee9d28",
+ //"symbolIcon.colorForeground": "#cccccc",
+ //"symbolIcon.constantForeground": "#cccccc",
+ //"symbolIcon.constructorForeground": "#b180d7",
+ //"symbolIcon.enumeratorForeground": "#ee9d28",
+ //"symbolIcon.enumeratorMemberForeground": "#75beff",
+ //"symbolIcon.eventForeground": "#ee9d28",
+ //"symbolIcon.fieldForeground": "#75beff",
+ //"symbolIcon.fileForeground": "#cccccc",
+ //"symbolIcon.folderForeground": "#cccccc",
+ //"symbolIcon.functionForeground": "#b180d7",
+ //"symbolIcon.interfaceForeground": "#75beff",
+ //"symbolIcon.keyForeground": "#cccccc",
+ //"symbolIcon.keywordForeground": "#cccccc",
+ //"symbolIcon.methodForeground": "#b180d7",
+ //"symbolIcon.moduleForeground": "#cccccc",
+ //"symbolIcon.namespaceForeground": "#cccccc",
+ //"symbolIcon.nullForeground": "#cccccc",
+ //"symbolIcon.numberForeground": "#cccccc",
+ //"symbolIcon.objectForeground": "#cccccc",
+ //"symbolIcon.operatorForeground": "#cccccc",
+ //"symbolIcon.packageForeground": "#cccccc",
+ //"symbolIcon.propertyForeground": "#cccccc",
+ //"symbolIcon.referenceForeground": "#cccccc",
+ //"symbolIcon.snippetForeground": "#cccccc",
+ //"symbolIcon.stringForeground": "#cccccc",
+ //"symbolIcon.structForeground": "#cccccc",
+ //"symbolIcon.textForeground": "#cccccc",
+ //"symbolIcon.typeParameterForeground": "#cccccc",
+ //"symbolIcon.unitForeground": "#cccccc",
+ //"symbolIcon.variableForeground": "#75beff",
+ //"tab.activeBackground": "#1e1e1e",
+ //"tab.activeForeground": "#ffffff",
+ //"tab.activeModifiedBorder": "#3399cc",
+ //"tab.border": "#252526",
+ //"tab.inactiveBackground": "#2d2d2d",
+ //"tab.inactiveForeground": "#ffffff80",
+ //"tab.inactiveModifiedBorder": "#3399cc80",
+ //"tab.unfocusedActiveBackground": "#1e1e1e",
+ //"tab.unfocusedActiveForeground": "#ffffff80",
+ //"tab.unfocusedActiveModifiedBorder": "#3399cc80",
+ //"tab.unfocusedInactiveBackground": "#2d2d2d",
+ //"tab.unfocusedInactiveForeground": "#ffffff40",
+ //"tab.unfocusedInactiveModifiedBorder": "#3399cc40",
+ //"terminal.ansiBlack": "#000000",
+ //"terminal.ansiBlue": "#2472c8",
+ //"terminal.ansiBrightBlack": "#666666",
+ //"terminal.ansiBrightBlue": "#3b8eea",
+ //"terminal.ansiBrightCyan": "#29b8db",
+ //"terminal.ansiBrightGreen": "#23d18b",
+ //"terminal.ansiBrightMagenta": "#d670d6",
+ //"terminal.ansiBrightRed": "#f14c4c",
+ //"terminal.ansiBrightWhite": "#e5e5e5",
+ //"terminal.ansiBrightYellow": "#f5f543",
+ //"terminal.ansiCyan": "#11a8cd",
+ //"terminal.ansiGreen": "#0dbc79",
+ //"terminal.ansiMagenta": "#bc3fbc",
+ //"terminal.ansiRed": "#cd3131",
+ //"terminal.ansiWhite": "#e5e5e5",
+ //"terminal.ansiYellow": "#e5e510",
+ //"terminal.border": "#80808059",
+ //"terminal.dropBackground": "#53595d80",
+ //"terminal.foreground": "#cccccc",
+ //"terminal.selectionBackground": "#ffffff40",
+ //"terminalCommandDecoration.defaultBackground": "#ffffff40",
+ //"terminalCommandDecoration.errorBackground": "#94151b",
+ //"terminalCommandDecoration.successBackground": "#0c7d9d",
+ //"testing.iconErrored": "#f14c4c",
+ //"testing.iconFailed": "#f14c4c",
+ //"testing.iconPassed": "#73c991",
+ //"testing.iconQueued": "#cca700",
+ //"testing.iconSkipped": "#848484",
+ //"testing.iconUnset": "#848484",
+ //"testing.message.error.decorationForeground": "#f14c4c",
+ //"testing.message.error.lineBackground": "#ff000033",
+ //"testing.message.info.decorationForeground": "#d4d4d480",
+ //"testing.peekBorder": "#f14c4c",
+ //"testing.peekHeaderBackground": "#f14c4c1a",
+ //"testing.runAction": "#73c991",
+ //"textBlockQuote.background": "#7f7f7f1a",
+ //"textBlockQuote.border": "#007acc80",
+ //"textCodeBlock.background": "#0a0a0a66",
+ //"textLink.activeForeground": "#3794ff",
+ //"textLink.foreground": "#3794ff",
+ //"textPreformat.foreground": "#d7ba7d",
+ //"textSeparator.foreground": "#ffffff2e",
+ //"titleBar.activeBackground": "#3c3c3c",
+ //"titleBar.activeForeground": "#cccccc",
+ //"titleBar.inactiveBackground": "#3c3c3c99",
+ //"titleBar.inactiveForeground": "#cccccc99",
+ //"toolbar.activeBackground": "#63666750",
+ //"toolbar.hoverBackground": "#5a5d5e50",
+ //"tree.indentGuidesStroke": "#585858",
+ //"tree.tableColumnsBorder": "#cccccc20",
+ //"tree.tableOddRowsBackground": "#cccccc0a",
+ //"welcomePage.progress.background": "#3c3c3c",
+ //"welcomePage.progress.foreground": "#3794ff",
+ //"welcomePage.tileBackground": "#252526",
+ //"welcomePage.tileHoverBackground": "#2c2c2d",
+ //"welcomePage.tileShadow": "#0000005c",
+ //"widget.shadow": "#0000005c",
+ //"activityBar.activeBackground": null,
+ //"activityBar.activeFocusBorder": null,
+ //"activityBar.border": null,
+ //"button.border": null,
+ //"contrastActiveBorder": null,
+ //"contrastBorder": null,
+ //"debugToolBar.border": null,
+ //"diffEditor.border": null,
+ //"diffEditor.insertedLineBackground": null,
+ //"diffEditor.insertedTextBorder": null,
+ //"diffEditor.removedLineBackground": null,
+ //"diffEditor.removedTextBorder": null,
+ //"diffEditorGutter.insertedLineBackground": null,
+ //"diffEditorGutter.removedLineBackground": null,
+ //"diffEditorOverview.insertedForeground": null,
+ //"diffEditorOverview.removedForeground": null,
+ //"dropdown.listBackground": null,
+ //"editor.findMatchBorder": null,
+ //"editor.findMatchHighlightBorder": null,
+ //"editor.findRangeHighlightBorder": null,
+ //"editor.lineHighlightBackground": null,
+ //"editor.rangeHighlightBorder": null,
+ //"editor.selectionForeground": null,
+ //"editor.selectionHighlightBorder": null,
+ //"editor.snippetFinalTabstopHighlightBackground": null,
+ //"editor.snippetTabstopHighlightBorder": null,
+ //"editor.symbolHighlightBorder": null,
+ //"editor.wordHighlightBorder": null,
+ //"editor.wordHighlightStrongBorder": null,
+ //"editorCursor.background": null,
+ //"editorError.background": null,
+ //"editorError.border": null,
+ //"editorGhostText.background": null,
+ //"editorGhostText.border": null,
+ //"editorGroup.emptyBackground": null,
+ //"editorGroup.focusedEmptyBorder": null,
+ //"editorGroupHeader.border": null,
+ //"editorGroupHeader.tabsBorder": null,
+ //"editorHint.border": null,
+ //"editorInfo.background": null,
+ //"editorInfo.border": null,
+ //"editorOverviewRuler.background": null,
+ //"editorUnnecessaryCode.border": null,
+ //"editorWarning.background": null,
+ //"editorWarning.border": null,
+ //"editorWidget.resizeBorder": null,
+ //"gitlens.decorations.branchUpToDateForegroundColor": null,
+ //"input.border": null,
+ //"inputValidation.errorForeground": null,
+ //"inputValidation.infoForeground": null,
+ //"inputValidation.warningForeground": null,
+ //"list.filterMatchBorder": null,
+ //"list.focusBackground": null,
+ //"list.focusForeground": null,
+ //"list.hoverForeground": null,
+ //"list.inactiveFocusBackground": null,
+ //"list.inactiveFocusOutline": null,
+ //"list.inactiveSelectionForeground": null,
+ //"list.inactiveSelectionIconForeground": null,
+ //"menu.border": null,
+ //"menu.selectionBorder": null,
+ //"menubar.selectionBorder": null,
+ //"merge.border": null,
+ //"minimap.background": null,
+ //"notebook.cellHoverBackground": null,
+ //"notebook.focusedCellBackground": null,
+ //"notebook.inactiveSelectedCellBorder": null,
+ //"notebook.outputContainerBackgroundColor": null,
+ //"notebook.outputContainerBorderColor": null,
+ //"notificationCenter.border": null,
+ //"notificationCenterHeader.foreground": null,
+ //"notificationToast.border": null,
+ //"panelInput.border": null,
+ //"panelSectionHeader.border": null,
+ //"panelSectionHeader.foreground": null,
+ //"peekViewEditor.matchHighlightBorder": null,
+ //"quickInput.list.focusBackground": null,
+ //"searchEditor.findMatchBorder": null,
+ //"searchEditor.textInputBorder": null,
+ //"selection.background": null,
+ //"settings.numberInputBorder": null,
+ //"settings.textInputBorder": null,
+ //"sideBar.border": null,
+ //"sideBar.foreground": null,
+ //"sideBarSectionHeader.foreground": null,
+ //"statusBar.border": null,
+ //"statusBar.debuggingBorder": null,
+ //"statusBar.noFolderBorder": null,
+ //"tab.activeBorder": null,
+ //"tab.activeBorderTop": null,
+ //"tab.hoverBackground": null,
+ //"tab.hoverBorder": null,
+ //"tab.hoverForeground": null,
+ //"tab.unfocusedActiveBorder": null,
+ //"tab.unfocusedActiveBorderTop": null,
+ //"tab.unfocusedHoverBackground": null,
+ //"tab.unfocusedHoverBorder": null,
+ //"tab.unfocusedHoverForeground": null,
+ //"terminal.background": null,
+ //"terminal.tab.activeBorder": null,
+ //"terminalCursor.background": null,
+ //"terminalCursor.foreground": null,
+ //"testing.message.info.lineBackground": null,
+ //"titleBar.border": null,
+ //"toolbar.hoverOutline": null,
+ //"walkThrough.embeddedEditorBackground": null,
+ //"welcomePage.background": null,
+ //"window.activeBorder": null,
+ //"window.inactiveBorder": null
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": "emphasis",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "strong",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "header",
+ "settings": {
+ "foreground": "#000080"
+ }
+ },
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "variable.other.enummember",
+ "keyword.operator.plus.exponent",
+ "keyword.operator.minus.exponent"
+ ],
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "constant.regexp",
+ "settings": {
+ "foreground": "#646695"
+ }
+ },
+ {
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "entity.name.tag.css",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.class.css",
+ "entity.other.attribute-name.class.mixin.css",
+ "entity.other.attribute-name.id.css",
+ "entity.other.attribute-name.parent-selector.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.pseudo-element.css",
+ "source.css.less entity.other.attribute-name.id",
+ "entity.other.attribute-name.scss"
+ ],
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "invalid",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#569CD6",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#569CD6",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.strikethrough",
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "punctuation.definition.quote.begin.markdown",
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#808080"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "entity.name.function.preprocessor"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.string",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.numeric",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "meta.structure.dictionary.key.python",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "storage",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "storage.type",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier",
+ "keyword.operator.noexcept"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "meta.embedded.assembly"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.tag",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.value",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name",
+ "support.type.property-name",
+ "variable.css",
+ "variable.scss",
+ "variable.other.less",
+ "source.coffee.embedded"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.new",
+ "keyword.operator.expression",
+ "keyword.operator.cast",
+ "keyword.operator.sizeof",
+ "keyword.operator.alignof",
+ "keyword.operator.typeid",
+ "keyword.operator.alignas",
+ "keyword.operator.instanceof",
+ "keyword.operator.logical.python",
+ "keyword.operator.wordlike"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "support.function.git-rebase",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "constant.sha.git-rebase",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.import.java",
+ "variable.language.wildcard.java",
+ "storage.modifier.package.java"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function",
+ "support.function",
+ "support.constant.handlebars",
+ "source.powershell variable.other.member",
+ "entity.name.operator.custom-literal"
+ ],
+ "settings": {
+ "foreground": "#DCDCAA"
+ }
+ },
+ {
+ "scope": [
+ "support.class",
+ "support.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "entity.other.attribute",
+ "entity.name.scope-resolution",
+ "entity.name.class",
+ "storage.type.numeric.go",
+ "storage.type.byte.go",
+ "storage.type.boolean.go",
+ "storage.type.string.go",
+ "storage.type.uintptr.go",
+ "storage.type.error.go",
+ "storage.type.rune.go",
+ "storage.type.cs",
+ "storage.type.generic.cs",
+ "storage.type.modifier.cs",
+ "storage.type.variable.cs",
+ "storage.type.annotation.java",
+ "storage.type.generic.java",
+ "storage.type.java",
+ "storage.type.object.array.java",
+ "storage.type.primitive.array.java",
+ "storage.type.primitive.java",
+ "storage.type.token.java",
+ "storage.type.groovy",
+ "storage.type.annotation.groovy",
+ "storage.type.parameters.groovy",
+ "storage.type.generic.groovy",
+ "storage.type.object.array.groovy",
+ "storage.type.primitive.array.groovy",
+ "storage.type.primitive.groovy"
+ ],
+ "settings": {
+ "foreground": "#4EC9B0"
+ }
+ },
+ {
+ "scope": [
+ "meta.type.cast.expr",
+ "meta.type.new.expr",
+ "support.constant.math",
+ "support.constant.dom",
+ "support.constant.json",
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#4EC9B0"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control",
+ "source.cpp keyword.operator.new",
+ "keyword.operator.delete",
+ "keyword.other.using",
+ "keyword.other.operator",
+ "entity.name.operator"
+ ],
+ "settings": {
+ "foreground": "#C586C0"
+ }
+ },
+ {
+ "scope": [
+ "variable",
+ "meta.definition.variable.name",
+ "support.variable",
+ "entity.name.variable",
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "variable.other.constant",
+ "variable.other.enummember"
+ ],
+ "settings": {
+ "foreground": "#4FC1FF"
+ }
+ },
+ {
+ "scope": [
+ "meta.object-literal.key"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.group.regexp",
+ "punctuation.definition.group.assertion.regexp",
+ "punctuation.definition.character-class.regexp",
+ "punctuation.character.set.begin.regexp",
+ "punctuation.character.set.end.regexp",
+ "keyword.operator.negation.regexp",
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.character-class.regexp",
+ "constant.other.character-class.set.regexp",
+ "constant.other.character-class.regexp",
+ "constant.character.set.regexp"
+ ],
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.or.regexp",
+ "keyword.control.anchor.regexp"
+ ],
+ "settings": {
+ "foreground": "#DCDCAA"
+ }
+ },
+ {
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "entity.name.label",
+ "settings": {
+ "foreground": "#C8C8C8"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#B267E6"
+ }
+ }
+ ]
+}
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/light.jsonc b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/light.jsonc
new file mode 100644
index 00000000..ed65b4f5
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/default_themes/light.jsonc
@@ -0,0 +1,1224 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "type": "light",
+ "colors": {
+ "activityBarBadge.background": "#007acc",
+ "editor.background": "#ffffff",
+ "editor.foreground": "#000000",
+ "editor.inactiveSelectionBackground": "#e5ebf1",
+ "editor.selectionHighlightBackground": "#add6ff80",
+ "editorIndentGuide.activeBackground": "#939393",
+ "editorIndentGuide.background": "#d3d3d3",
+ "editorSuggestWidget.background": "#f3f3f3",
+ "input.placeholderForeground": "#767676",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.hoverBackground": "#e8e8e8",
+ "notebook.cellBorderColor": "#e8e8e8",
+ "notebook.selectedCellBackground": "#c8ddf150",
+ "ports.iconRunningProcessForeground": "#369432",
+ "searchEditor.textInputBorder": "#cecece",
+ "settings.numberInputBorder": "#cecece",
+ "settings.textInputBorder": "#cecece",
+ "sideBarSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.border": "#61616130",
+ "sideBarTitle.foreground": "#6f6f6f",
+ "statusBarItem.errorBackground": "#c72e0f",
+ "statusBarItem.remoteBackground": "#16825d",
+ "statusBarItem.remoteForeground": "#ffffff",
+ "tab.lastPinnedBorder": "#61616130"
+ //"activityBar.activeBorder": "#ffffff",
+ //"activityBar.background": "#2c2c2c",
+ //"activityBar.dropBorder": "#ffffff",
+ //"activityBar.foreground": "#ffffff",
+ //"activityBar.inactiveForeground": "#ffffff66",
+ //"activityBarBadge.foreground": "#ffffff",
+ //"badge.background": "#c4c4c4",
+ //"badge.foreground": "#333333",
+ //"banner.background": "#004386",
+ //"banner.foreground": "#ffffff",
+ //"banner.iconForeground": "#1a85ff",
+ //"breadcrumb.activeSelectionForeground": "#4e4e4e",
+ //"breadcrumb.background": "#ffffff",
+ //"breadcrumb.focusForeground": "#4e4e4e",
+ //"breadcrumb.foreground": "#616161cc",
+ //"breadcrumbPicker.background": "#f3f3f3",
+ //"button.background": "#007acc",
+ //"button.foreground": "#ffffff",
+ //"button.hoverBackground": "#0062a3",
+ //"button.secondaryBackground": "#5f6a79",
+ //"button.secondaryForeground": "#ffffff",
+ //"button.secondaryHoverBackground": "#4c5561",
+ //"charts.blue": "#1a85ff",
+ //"charts.foreground": "#616161",
+ //"charts.green": "#388a34",
+ //"charts.lines": "#61616180",
+ //"charts.orange": "#d18616",
+ //"charts.purple": "#652d90",
+ //"charts.red": "#e51400",
+ //"charts.yellow": "#bf8803",
+ //"checkbox.background": "#ffffff",
+ //"checkbox.border": "#cecece",
+ //"debugConsole.errorForeground": "#a1260d",
+ //"debugConsole.infoForeground": "#1a85ff",
+ //"debugConsole.sourceForeground": "#616161",
+ //"debugConsole.warningForeground": "#bf8803",
+ //"debugConsoleInputIcon.foreground": "#616161",
+ //"debugExceptionWidget.background": "#f1dfde",
+ //"debugExceptionWidget.border": "#a31515",
+ //"debugIcon.breakpointCurrentStackframeForeground": "#be8700",
+ //"debugIcon.breakpointDisabledForeground": "#848484",
+ //"debugIcon.breakpointForeground": "#e51400",
+ //"debugIcon.breakpointStackframeForeground": "#89d185",
+ //"debugIcon.breakpointUnverifiedForeground": "#848484",
+ //"debugIcon.continueForeground": "#007acc",
+ //"debugIcon.disconnectForeground": "#a1260d",
+ //"debugIcon.pauseForeground": "#007acc",
+ //"debugIcon.restartForeground": "#388a34",
+ //"debugIcon.startForeground": "#388a34",
+ //"debugIcon.stepBackForeground": "#007acc",
+ //"debugIcon.stepIntoForeground": "#007acc",
+ //"debugIcon.stepOutForeground": "#007acc",
+ //"debugIcon.stepOverForeground": "#007acc",
+ //"debugIcon.stopForeground": "#a1260d",
+ //"debugTokenExpression.boolean": "#0000ff",
+ //"debugTokenExpression.error": "#e51400",
+ //"debugTokenExpression.name": "#9b46b0",
+ //"debugTokenExpression.number": "#098658",
+ //"debugTokenExpression.string": "#a31515",
+ //"debugTokenExpression.value": "#6c6c6ccc",
+ //"debugToolBar.background": "#f3f3f3",
+ //"debugView.exceptionLabelBackground": "#a31515",
+ //"debugView.exceptionLabelForeground": "#ffffff",
+ //"debugView.stateLabelBackground": "#88888844",
+ //"debugView.stateLabelForeground": "#616161",
+ //"debugView.valueChangedHighlight": "#569cd6",
+ //"descriptionForeground": "#717171",
+ //"diffEditor.diagonalFill": "#22222233",
+ //"diffEditor.insertedTextBackground": "#9bb95533",
+ //"diffEditor.removedTextBackground": "#ff000033",
+ //"dropdown.background": "#ffffff",
+ //"dropdown.border": "#cecece",
+ //"editor.findMatchBackground": "#a8ac94",
+ //"editor.findMatchHighlightBackground": "#ea5c0055",
+ //"editor.findRangeHighlightBackground": "#b4b4b44d",
+ //"editor.focusedStackFrameHighlightBackground": "#cee7ce73",
+ //"editor.foldBackground": "#add6ff4d",
+ //"editor.hoverHighlightBackground": "#add6ff26",
+ //"editor.inlineValuesBackground": "#ffc80033",
+ //"editor.inlineValuesForeground": "#00000080",
+ //"editor.lineHighlightBorder": "#eeeeee",
+ //"editor.linkedEditingBackground": "#ff00004d",
+ //"editor.rangeHighlightBackground": "#fdff0033",
+ //"editor.selectionBackground": "#add6ff",
+ //"editor.snippetFinalTabstopHighlightBorder": "#0a326480",
+ //"editor.snippetTabstopHighlightBackground": "#0a326433",
+ //"editor.stackFrameHighlightBackground": "#ffff6673",
+ //"editor.symbolHighlightBackground": "#ea5c0055",
+ //"editor.wordHighlightBackground": "#57575740",
+ //"editor.wordHighlightStrongBackground": "#0e639c40",
+ //"editorActiveLineNumber.foreground": "#0b216f",
+ //"editorBracketHighlight.foreground1": "#0431fa",
+ //"editorBracketHighlight.foreground2": "#319331",
+ //"editorBracketHighlight.foreground3": "#7b3814",
+ //"editorBracketHighlight.foreground4": "#00000000",
+ //"editorBracketHighlight.foreground5": "#00000000",
+ //"editorBracketHighlight.foreground6": "#00000000",
+ //"editorBracketHighlight.unexpectedBracket.foreground": "#ff1212cc",
+ //"editorBracketMatch.background": "#0064001a",
+ //"editorBracketMatch.border": "#b9b9b9",
+ //"editorBracketPairGuide.activeBackground1": "#00000000",
+ //"editorBracketPairGuide.activeBackground2": "#00000000",
+ //"editorBracketPairGuide.activeBackground3": "#00000000",
+ //"editorBracketPairGuide.activeBackground4": "#00000000",
+ //"editorBracketPairGuide.activeBackground5": "#00000000",
+ //"editorBracketPairGuide.activeBackground6": "#00000000",
+ //"editorBracketPairGuide.background1": "#00000000",
+ //"editorBracketPairGuide.background2": "#00000000",
+ //"editorBracketPairGuide.background3": "#00000000",
+ //"editorBracketPairGuide.background4": "#00000000",
+ //"editorBracketPairGuide.background5": "#00000000",
+ //"editorBracketPairGuide.background6": "#00000000",
+ //"editorCodeLens.foreground": "#919191",
+ //"editorCursor.foreground": "#000000",
+ //"editorError.foreground": "#e51400",
+ //"editorGhostText.foreground": "#00000077",
+ //"editorGroup.border": "#e7e7e7",
+ //"editorGroup.dropBackground": "#2677cb2e",
+ //"editorGroupHeader.noTabsBackground": "#ffffff",
+ //"editorGroupHeader.tabsBackground": "#f3f3f3",
+ //"editorGutter.addedBackground": "#81b88b",
+ //"editorGutter.background": "#ffffff",
+ //"editorGutter.commentRangeForeground": "#c5c5c5",
+ //"editorGutter.deletedBackground": "#ca4b51",
+ //"editorGutter.foldingControlForeground": "#424242",
+ //"editorGutter.modifiedBackground": "#66afe0",
+ //"editorHint.foreground": "#6c6c6c",
+ //"editorHoverWidget.background": "#f3f3f3",
+ //"editorHoverWidget.border": "#c8c8c8",
+ //"editorHoverWidget.foreground": "#616161",
+ //"editorHoverWidget.highlightForeground": "#0066bf",
+ //"editorHoverWidget.statusBarBackground": "#e7e7e7",
+ //"editorInfo.foreground": "#1a85ff",
+ //"editorInlayHint.background": "#c4c4c44d",
+ //"editorInlayHint.foreground": "#333333cc",
+ //"editorInlayHint.parameterBackground": "#c4c4c44d",
+ //"editorInlayHint.parameterForeground": "#333333cc",
+ //"editorInlayHint.typeBackground": "#c4c4c44d",
+ //"editorInlayHint.typeForeground": "#333333cc",
+ //"editorLightBulb.foreground": "#ddb100",
+ //"editorLightBulbAutoFix.foreground": "#007acc",
+ //"editorLineNumber.activeForeground": "#0b216f",
+ //"editorLineNumber.foreground": "#237893",
+ //"editorLink.activeForeground": "#0000ff",
+ //"editorMarkerNavigation.background": "#ffffff",
+ //"editorMarkerNavigationError.background": "#e51400",
+ //"editorMarkerNavigationError.headerBackground": "#e514001a",
+ //"editorMarkerNavigationInfo.background": "#1a85ff",
+ //"editorMarkerNavigationInfo.headerBackground": "#1a85ff1a",
+ //"editorMarkerNavigationWarning.background": "#bf8803",
+ //"editorMarkerNavigationWarning.headerBackground": "#bf88031a",
+ //"editorOverviewRuler.addedForeground": "#81b88b99",
+ //"editorOverviewRuler.border": "#7f7f7f4d",
+ //"editorOverviewRuler.bracketMatchForeground": "#a0a0a0",
+ //"editorOverviewRuler.commonContentForeground": "#60606066",
+ //"editorOverviewRuler.currentContentForeground": "#40c8ae80",
+ //"editorOverviewRuler.deletedForeground": "#ca4b5199",
+ //"editorOverviewRuler.errorForeground": "#ff1212b3",
+ //"editorOverviewRuler.findMatchForeground": "#d186167e",
+ //"editorOverviewRuler.incomingContentForeground": "#40a6ff80",
+ //"editorOverviewRuler.infoForeground": "#1a85ff",
+ //"editorOverviewRuler.modifiedForeground": "#66afe099",
+ //"editorOverviewRuler.rangeHighlightForeground": "#007acc99",
+ //"editorOverviewRuler.selectionHighlightForeground": "#a0a0a0cc",
+ //"editorOverviewRuler.warningForeground": "#bf8803",
+ //"editorOverviewRuler.wordHighlightForeground": "#a0a0a0cc",
+ //"editorOverviewRuler.wordHighlightStrongForeground": "#c0a0c0cc",
+ //"editorPane.background": "#ffffff",
+ //"editorRuler.foreground": "#d3d3d3",
+ //"editorSuggestWidget.border": "#c8c8c8",
+ //"editorSuggestWidget.focusHighlightForeground": "#9dddff",
+ //"editorSuggestWidget.foreground": "#000000",
+ //"editorSuggestWidget.highlightForeground": "#0066bf",
+ //"editorSuggestWidget.selectedBackground": "#0060c0",
+ //"editorSuggestWidget.selectedForeground": "#ffffff",
+ //"editorSuggestWidget.selectedIconForeground": "#ffffff",
+ //"editorSuggestWidgetStatus.foreground": "#00000080",
+ //"editorUnicodeHighlight.border": "#cea33d",
+ //"editorUnnecessaryCode.opacity": "#00000077",
+ //"editorWarning.foreground": "#bf8803",
+ //"editorWhitespace.foreground": "#33333333",
+ //"editorWidget.background": "#f3f3f3",
+ //"editorWidget.border": "#c8c8c8",
+ //"editorWidget.foreground": "#616161",
+ //"errorForeground": "#a1260d",
+ //"extensionBadge.remoteBackground": "#007acc",
+ //"extensionBadge.remoteForeground": "#ffffff",
+ //"extensionButton.prominentBackground": "#007acc",
+ //"extensionButton.prominentForeground": "#ffffff",
+ //"extensionButton.prominentHoverBackground": "#0062a3",
+ //"extensionIcon.preReleaseForeground": "#1d9271",
+ //"extensionIcon.starForeground": "#df6100",
+ //"extensionIcon.verifiedForeground": "#006ab1",
+ //"focusBorder": "#0090f1",
+ //"foreground": "#616161",
+ //"gitDecoration.addedResourceForeground": "#587c0c",
+ //"gitDecoration.conflictingResourceForeground": "#ad0707",
+ //"gitDecoration.deletedResourceForeground": "#ad0707",
+ //"gitDecoration.ignoredResourceForeground": "#8e8e90",
+ //"gitDecoration.modifiedResourceForeground": "#895503",
+ //"gitDecoration.renamedResourceForeground": "#007100",
+ //"gitDecoration.stageDeletedResourceForeground": "#ad0707",
+ //"gitDecoration.stageModifiedResourceForeground": "#895503",
+ //"gitDecoration.submoduleResourceForeground": "#1258a7",
+ //"gitDecoration.untrackedResourceForeground": "#007100",
+ //"gitlens.closedAutolinkedIssueIconColor": "#8250df",
+ //"gitlens.closedPullRequestIconColor": "#cf222e",
+ //"gitlens.decorations.addedForegroundColor": "#587c0c",
+ //"gitlens.decorations.branchAheadForegroundColor": "#35b15e",
+ //"gitlens.decorations.branchBehindForegroundColor": "#b15e35",
+ //"gitlens.decorations.branchDivergedForegroundColor": "#d8af1b",
+ //"gitlens.decorations.branchMissingUpstreamForegroundColor": "#ad0707",
+ //"gitlens.decorations.branchUnpublishedForegroundColor": "#35b15e",
+ //"gitlens.decorations.copiedForegroundColor": "#007100",
+ //"gitlens.decorations.deletedForegroundColor": "#ad0707",
+ //"gitlens.decorations.ignoredForegroundColor": "#8e8e90",
+ //"gitlens.decorations.modifiedForegroundColor": "#895503",
+ //"gitlens.decorations.renamedForegroundColor": "#007100",
+ //"gitlens.decorations.untrackedForegroundColor": "#007100",
+ //"gitlens.decorations.worktreeView.hasUncommittedChangesForegroundColor": "#895503",
+ //"gitlens.gutterBackgroundColor": "#0000000c",
+ //"gitlens.gutterForegroundColor": "#747474",
+ //"gitlens.gutterUncommittedForegroundColor": "#00bcf299",
+ //"gitlens.lineHighlightBackgroundColor": "#00bcf233",
+ //"gitlens.lineHighlightOverviewRulerColor": "#00bcf299",
+ //"gitlens.mergedPullRequestIconColor": "#8250df",
+ //"gitlens.openAutolinkedIssueIconColor": "#1a7f37",
+ //"gitlens.openPullRequestIconColor": "#1a7f37",
+ //"gitlens.trailingLineBackgroundColor": "#00000000",
+ //"gitlens.trailingLineForegroundColor": "#99999959",
+ //"gitlens.unpublishedChangesIconColor": "#35b15e",
+ //"gitlens.unpublishedCommitIconColor": "#35b15e",
+ //"gitlens.unpulledChangesIconColor": "#b15e35",
+ //"icon.foreground": "#424242",
+ //"input.background": "#ffffff",
+ //"input.foreground": "#616161",
+ //"inputOption.activeBackground": "#0090f133",
+ //"inputOption.activeBorder": "#007acc00",
+ //"inputOption.activeForeground": "#000000",
+ //"inputOption.hoverBackground": "#b8b8b850",
+ //"inputValidation.errorBackground": "#f2dede",
+ //"inputValidation.errorBorder": "#be1100",
+ //"inputValidation.infoBackground": "#d6ecf2",
+ //"inputValidation.infoBorder": "#007acc",
+ //"inputValidation.warningBackground": "#f6f5d2",
+ //"inputValidation.warningBorder": "#b89500",
+ //"interactive.activeCodeBorder": "#1a85ff",
+ //"interactive.inactiveCodeBorder": "#e4e6f1",
+ //"keybindingLabel.background": "#dddddd66",
+ //"keybindingLabel.border": "#cccccc66",
+ //"keybindingLabel.bottomBorder": "#bbbbbb66",
+ //"keybindingLabel.foreground": "#555555",
+ //"keybindingTable.headerBackground": "#6161610a",
+ //"keybindingTable.rowsBackground": "#6161610a",
+ //"list.activeSelectionBackground": "#0060c0",
+ //"list.activeSelectionForeground": "#ffffff",
+ //"list.deemphasizedForeground": "#8e8e90",
+ //"list.dropBackground": "#d6ebff",
+ //"list.errorForeground": "#b01011",
+ //"list.filterMatchBackground": "#ea5c0055",
+ //"list.focusHighlightForeground": "#9dddff",
+ //"list.focusOutline": "#0090f1",
+ //"list.highlightForeground": "#0066bf",
+ //"list.inactiveSelectionBackground": "#e4e6f1",
+ //"list.invalidItemForeground": "#b89500",
+ //"list.warningForeground": "#855f00",
+ //"listFilterWidget.background": "#efc1ad",
+ //"listFilterWidget.noMatchesOutline": "#be1100",
+ //"listFilterWidget.outline": "#00000000",
+ //"menu.background": "#ffffff",
+ //"menu.foreground": "#616161",
+ //"menu.selectionBackground": "#0060c0",
+ //"menu.selectionForeground": "#ffffff",
+ //"menu.separatorBackground": "#888888",
+ //"menubar.selectionBackground": "#0000001a",
+ //"menubar.selectionForeground": "#333333",
+ //"merge.commonContentBackground": "#60606029",
+ //"merge.commonHeaderBackground": "#60606066",
+ //"merge.currentContentBackground": "#40c8ae33",
+ //"merge.currentHeaderBackground": "#40c8ae80",
+ //"merge.incomingContentBackground": "#40a6ff33",
+ //"merge.incomingHeaderBackground": "#40a6ff80",
+ //"minimap.errorHighlight": "#ff1212b3",
+ //"minimap.findMatchHighlight": "#d18616",
+ //"minimap.foregroundOpacity": "#000000",
+ //"minimap.selectionHighlight": "#add6ff",
+ //"minimap.selectionOccurrenceHighlight": "#c9c9c9",
+ //"minimap.warningHighlight": "#bf8803",
+ //"minimapGutter.addedBackground": "#81b88b",
+ //"minimapGutter.deletedBackground": "#ca4b51",
+ //"minimapGutter.modifiedBackground": "#66afe0",
+ //"minimapSlider.activeBackground": "#0000004d",
+ //"minimapSlider.background": "#64646433",
+ //"minimapSlider.hoverBackground": "#64646459",
+ //"notebook.cellEditorBackground": "#f3f3f3",
+ //"notebook.cellInsertionIndicator": "#0090f1",
+ //"notebook.cellStatusBarItemHoverBackground": "#00000014",
+ //"notebook.cellToolbarSeparator": "#80808059",
+ //"notebook.focusedCellBorder": "#0090f1",
+ //"notebook.focusedEditorBorder": "#0090f1",
+ //"notebook.inactiveFocusedCellBorder": "#e8e8e8",
+ //"notebook.selectedCellBorder": "#e8e8e8",
+ //"notebook.symbolHighlightBackground": "#fdff0033",
+ //"notebookScrollbarSlider.activeBackground": "#00000099",
+ //"notebookScrollbarSlider.background": "#64646466",
+ //"notebookScrollbarSlider.hoverBackground": "#646464b3",
+ //"notebookStatusErrorIcon.foreground": "#a1260d",
+ //"notebookStatusRunningIcon.foreground": "#616161",
+ //"notebookStatusSuccessIcon.foreground": "#388a34",
+ //"notificationCenterHeader.background": "#e7e7e7",
+ //"notificationLink.foreground": "#006ab1",
+ //"notifications.background": "#f3f3f3",
+ //"notifications.border": "#e7e7e7",
+ //"notifications.foreground": "#616161",
+ //"notificationsErrorIcon.foreground": "#e51400",
+ //"notificationsInfoIcon.foreground": "#1a85ff",
+ //"notificationsWarningIcon.foreground": "#bf8803",
+ //"panel.background": "#ffffff",
+ //"panel.border": "#80808059",
+ //"panel.dropBorder": "#424242",
+ //"panelInput.border": "#dddddd",
+ //"panelSection.border": "#80808059",
+ //"panelSection.dropBackground": "#2677cb2e",
+ //"panelSectionHeader.background": "#80808033",
+ //"panelTitle.activeBorder": "#424242",
+ //"panelTitle.activeForeground": "#424242",
+ //"panelTitle.inactiveForeground": "#424242bf",
+ //"peekView.border": "#1a85ff",
+ //"peekViewEditor.background": "#f2f8fc",
+ //"peekViewEditor.matchHighlightBackground": "#f5d802de",
+ //"peekViewEditorGutter.background": "#f2f8fc",
+ //"peekViewResult.background": "#f3f3f3",
+ //"peekViewResult.fileForeground": "#1e1e1e",
+ //"peekViewResult.lineForeground": "#646465",
+ //"peekViewResult.matchHighlightBackground": "#ea5c004d",
+ //"peekViewResult.selectionBackground": "#3399ff33",
+ //"peekViewResult.selectionForeground": "#6c6c6c",
+ //"peekViewTitle.background": "#1a85ff1a",
+ //"peekViewTitleDescription.foreground": "#616161",
+ //"peekViewTitleLabel.foreground": "#000000",
+ //"pickerGroup.border": "#cccedb",
+ //"pickerGroup.foreground": "#0066bf",
+ //"problemsErrorIcon.foreground": "#e51400",
+ //"problemsInfoIcon.foreground": "#1a85ff",
+ //"problemsWarningIcon.foreground": "#bf8803",
+ //"progressBar.background": "#0e70c0",
+ //"quickInput.background": "#f3f3f3",
+ //"quickInput.foreground": "#616161",
+ //"quickInputList.focusBackground": "#0060c0",
+ //"quickInputList.focusForeground": "#ffffff",
+ //"quickInputList.focusIconForeground": "#ffffff",
+ //"quickInputTitle.background": "#0000000f",
+ //"sash.hoverBorder": "#0090f1",
+ //"scm.providerBorder": "#c8c8c8",
+ //"scrollbar.shadow": "#dddddd",
+ //"scrollbarSlider.activeBackground": "#00000099",
+ //"scrollbarSlider.background": "#64646466",
+ //"scrollbarSlider.hoverBackground": "#646464b3",
+ //"searchEditor.findMatchBackground": "#ea5c0038",
+ //"settings.checkboxBackground": "#ffffff",
+ //"settings.checkboxBorder": "#cecece",
+ //"settings.dropdownBackground": "#ffffff",
+ //"settings.dropdownBorder": "#cecece",
+ //"settings.dropdownListBorder": "#c8c8c8",
+ //"settings.focusedRowBackground": "#e8e8e899",
+ //"settings.focusedRowBorder": "#0000001f",
+ //"settings.headerBorder": "#80808059",
+ //"settings.headerForeground": "#444444",
+ //"settings.modifiedItemIndicator": "#66afe0",
+ //"settings.numberInputBackground": "#ffffff",
+ //"settings.numberInputForeground": "#616161",
+ //"settings.rowHoverBackground": "#e8e8e84d",
+ //"settings.sashBorder": "#80808059",
+ //"settings.textInputBackground": "#ffffff",
+ //"settings.textInputForeground": "#616161",
+ //"sideBar.background": "#f3f3f3",
+ //"sideBar.dropBackground": "#2677cb2e",
+ //"sideBySideEditor.horizontalBorder": "#e7e7e7",
+ //"sideBySideEditor.verticalBorder": "#e7e7e7",
+ //"statusBar.background": "#007acc",
+ //"statusBar.debuggingBackground": "#cc6633",
+ //"statusBar.debuggingForeground": "#ffffff",
+ //"statusBar.focusBorder": "#ffffff",
+ //"statusBar.foreground": "#ffffff",
+ //"statusBar.noFolderBackground": "#68217a",
+ //"statusBar.noFolderForeground": "#ffffff",
+ //"statusBarItem.activeBackground": "#ffffff2e",
+ //"statusBarItem.compactHoverBackground": "#ffffff33",
+ //"statusBarItem.errorForeground": "#ffffff",
+ //"statusBarItem.focusBorder": "#ffffff",
+ //"statusBarItem.hoverBackground": "#ffffff1f",
+ //"statusBarItem.prominentBackground": "#00000080",
+ //"statusBarItem.prominentForeground": "#ffffff",
+ //"statusBarItem.prominentHoverBackground": "#0000004d",
+ //"statusBarItem.warningBackground": "#725102",
+ //"statusBarItem.warningForeground": "#ffffff",
+ //"symbolIcon.arrayForeground": "#616161",
+ //"symbolIcon.booleanForeground": "#616161",
+ //"symbolIcon.classForeground": "#d67e00",
+ //"symbolIcon.colorForeground": "#616161",
+ //"symbolIcon.constantForeground": "#616161",
+ //"symbolIcon.constructorForeground": "#652d90",
+ //"symbolIcon.enumeratorForeground": "#d67e00",
+ //"symbolIcon.enumeratorMemberForeground": "#007acc",
+ //"symbolIcon.eventForeground": "#d67e00",
+ //"symbolIcon.fieldForeground": "#007acc",
+ //"symbolIcon.fileForeground": "#616161",
+ //"symbolIcon.folderForeground": "#616161",
+ //"symbolIcon.functionForeground": "#652d90",
+ //"symbolIcon.interfaceForeground": "#007acc",
+ //"symbolIcon.keyForeground": "#616161",
+ //"symbolIcon.keywordForeground": "#616161",
+ //"symbolIcon.methodForeground": "#652d90",
+ //"symbolIcon.moduleForeground": "#616161",
+ //"symbolIcon.namespaceForeground": "#616161",
+ //"symbolIcon.nullForeground": "#616161",
+ //"symbolIcon.numberForeground": "#616161",
+ //"symbolIcon.objectForeground": "#616161",
+ //"symbolIcon.operatorForeground": "#616161",
+ //"symbolIcon.packageForeground": "#616161",
+ //"symbolIcon.propertyForeground": "#616161",
+ //"symbolIcon.referenceForeground": "#616161",
+ //"symbolIcon.snippetForeground": "#616161",
+ //"symbolIcon.stringForeground": "#616161",
+ //"symbolIcon.structForeground": "#616161",
+ //"symbolIcon.textForeground": "#616161",
+ //"symbolIcon.typeParameterForeground": "#616161",
+ //"symbolIcon.unitForeground": "#616161",
+ //"symbolIcon.variableForeground": "#007acc",
+ //"tab.activeBackground": "#ffffff",
+ //"tab.activeForeground": "#333333",
+ //"tab.activeModifiedBorder": "#33aaee",
+ //"tab.border": "#f3f3f3",
+ //"tab.inactiveBackground": "#ececec",
+ //"tab.inactiveForeground": "#333333b3",
+ //"tab.inactiveModifiedBorder": "#33aaee80",
+ //"tab.unfocusedActiveBackground": "#ffffff",
+ //"tab.unfocusedActiveForeground": "#333333b3",
+ //"tab.unfocusedActiveModifiedBorder": "#33aaeeb3",
+ //"tab.unfocusedInactiveBackground": "#ececec",
+ //"tab.unfocusedInactiveForeground": "#33333359",
+ //"tab.unfocusedInactiveModifiedBorder": "#33aaee40",
+ //"terminal.ansiBlack": "#000000",
+ //"terminal.ansiBlue": "#0451a5",
+ //"terminal.ansiBrightBlack": "#666666",
+ //"terminal.ansiBrightBlue": "#0451a5",
+ //"terminal.ansiBrightCyan": "#0598bc",
+ //"terminal.ansiBrightGreen": "#14ce14",
+ //"terminal.ansiBrightMagenta": "#bc05bc",
+ //"terminal.ansiBrightRed": "#cd3131",
+ //"terminal.ansiBrightWhite": "#a5a5a5",
+ //"terminal.ansiBrightYellow": "#b5ba00",
+ //"terminal.ansiCyan": "#0598bc",
+ //"terminal.ansiGreen": "#00bc00",
+ //"terminal.ansiMagenta": "#bc05bc",
+ //"terminal.ansiRed": "#cd3131",
+ //"terminal.ansiWhite": "#555555",
+ //"terminal.ansiYellow": "#949800",
+ //"terminal.border": "#80808059",
+ //"terminal.dropBackground": "#2677cb2e",
+ //"terminal.foreground": "#333333",
+ //"terminal.selectionBackground": "#00000040",
+ //"terminalCommandDecoration.defaultBackground": "#00000040",
+ //"terminalCommandDecoration.errorBackground": "#ca4b51",
+ //"terminalCommandDecoration.successBackground": "#66afe0",
+ //"testing.iconErrored": "#f14c4c",
+ //"testing.iconFailed": "#f14c4c",
+ //"testing.iconPassed": "#73c991",
+ //"testing.iconQueued": "#cca700",
+ //"testing.iconSkipped": "#848484",
+ //"testing.iconUnset": "#848484",
+ //"testing.message.error.decorationForeground": "#e51400",
+ //"testing.message.error.lineBackground": "#ff000033",
+ //"testing.message.info.decorationForeground": "#00000080",
+ //"testing.peekBorder": "#e51400",
+ //"testing.peekHeaderBackground": "#e514001a",
+ //"testing.runAction": "#73c991",
+ //"textBlockQuote.background": "#7f7f7f1a",
+ //"textBlockQuote.border": "#007acc80",
+ //"textCodeBlock.background": "#dcdcdc66",
+ //"textLink.activeForeground": "#006ab1",
+ //"textLink.foreground": "#006ab1",
+ //"textPreformat.foreground": "#a31515",
+ //"textSeparator.foreground": "#0000002e",
+ //"titleBar.activeBackground": "#dddddd",
+ //"titleBar.activeForeground": "#333333",
+ //"titleBar.inactiveBackground": "#dddddd99",
+ //"titleBar.inactiveForeground": "#33333399",
+ //"toolbar.activeBackground": "#a6a6a650",
+ //"toolbar.hoverBackground": "#b8b8b850",
+ //"tree.indentGuidesStroke": "#a9a9a9",
+ //"tree.tableColumnsBorder": "#61616120",
+ //"tree.tableOddRowsBackground": "#6161610a",
+ //"welcomePage.progress.background": "#ffffff",
+ //"welcomePage.progress.foreground": "#006ab1",
+ //"welcomePage.tileBackground": "#f3f3f3",
+ //"welcomePage.tileHoverBackground": "#dbdbdb",
+ //"welcomePage.tileShadow": "#00000029",
+ //"widget.shadow": "#00000029",
+ //"activityBar.activeBackground": null,
+ //"activityBar.activeFocusBorder": null,
+ //"activityBar.border": null,
+ //"button.border": null,
+ //"checkbox.foreground": null,
+ //"contrastActiveBorder": null,
+ //"contrastBorder": null,
+ //"debugToolBar.border": null,
+ //"diffEditor.border": null,
+ //"diffEditor.insertedLineBackground": null,
+ //"diffEditor.insertedTextBorder": null,
+ //"diffEditor.removedLineBackground": null,
+ //"diffEditor.removedTextBorder": null,
+ //"diffEditorGutter.insertedLineBackground": null,
+ //"diffEditorGutter.removedLineBackground": null,
+ //"diffEditorOverview.insertedForeground": null,
+ //"diffEditorOverview.removedForeground": null,
+ //"dropdown.foreground": null,
+ //"dropdown.listBackground": null,
+ //"editor.findMatchBorder": null,
+ //"editor.findMatchHighlightBorder": null,
+ //"editor.findRangeHighlightBorder": null,
+ //"editor.lineHighlightBackground": null,
+ //"editor.rangeHighlightBorder": null,
+ //"editor.selectionForeground": null,
+ //"editor.selectionHighlightBorder": null,
+ //"editor.snippetFinalTabstopHighlightBackground": null,
+ //"editor.snippetTabstopHighlightBorder": null,
+ //"editor.symbolHighlightBorder": null,
+ //"editor.wordHighlightBorder": null,
+ //"editor.wordHighlightStrongBorder": null,
+ //"editorCursor.background": null,
+ //"editorError.background": null,
+ //"editorError.border": null,
+ //"editorGhostText.background": null,
+ //"editorGhostText.border": null,
+ //"editorGroup.emptyBackground": null,
+ //"editorGroup.focusedEmptyBorder": null,
+ //"editorGroupHeader.border": null,
+ //"editorGroupHeader.tabsBorder": null,
+ //"editorHint.border": null,
+ //"editorInfo.background": null,
+ //"editorInfo.border": null,
+ //"editorOverviewRuler.background": null,
+ //"editorUnnecessaryCode.border": null,
+ //"editorWarning.background": null,
+ //"editorWarning.border": null,
+ //"editorWidget.resizeBorder": null,
+ //"gitlens.decorations.branchUpToDateForegroundColor": null,
+ //"input.border": null,
+ //"inputValidation.errorForeground": null,
+ //"inputValidation.infoForeground": null,
+ //"inputValidation.warningForeground": null,
+ //"list.filterMatchBorder": null,
+ //"list.focusBackground": null,
+ //"list.focusForeground": null,
+ //"list.hoverForeground": null,
+ //"list.inactiveFocusBackground": null,
+ //"list.inactiveFocusOutline": null,
+ //"list.inactiveSelectionForeground": null,
+ //"list.inactiveSelectionIconForeground": null,
+ //"menu.border": null,
+ //"menu.selectionBorder": null,
+ //"menubar.selectionBorder": null,
+ //"merge.border": null,
+ //"minimap.background": null,
+ //"notebook.cellHoverBackground": null,
+ //"notebook.focusedCellBackground": null,
+ //"notebook.inactiveSelectedCellBorder": null,
+ //"notebook.outputContainerBackgroundColor": null,
+ //"notebook.outputContainerBorderColor": null,
+ //"notificationCenter.border": null,
+ //"notificationCenterHeader.foreground": null,
+ //"notificationToast.border": null,
+ //"panelSectionHeader.border": null,
+ //"panelSectionHeader.foreground": null,
+ //"peekViewEditor.matchHighlightBorder": null,
+ //"quickInput.list.focusBackground": null,
+ //"searchEditor.findMatchBorder": null,
+ //"selection.background": null,
+ //"settings.checkboxForeground": null,
+ //"settings.dropdownForeground": null,
+ //"sideBar.border": null,
+ //"sideBar.foreground": null,
+ //"sideBarSectionHeader.foreground": null,
+ //"statusBar.border": null,
+ //"statusBar.debuggingBorder": null,
+ //"statusBar.noFolderBorder": null,
+ //"tab.activeBorder": null,
+ //"tab.activeBorderTop": null,
+ //"tab.hoverBackground": null,
+ //"tab.hoverBorder": null,
+ //"tab.hoverForeground": null,
+ //"tab.unfocusedActiveBorder": null,
+ //"tab.unfocusedActiveBorderTop": null,
+ //"tab.unfocusedHoverBackground": null,
+ //"tab.unfocusedHoverBorder": null,
+ //"tab.unfocusedHoverForeground": null,
+ //"terminal.background": null,
+ //"terminal.tab.activeBorder": null,
+ //"terminalCursor.background": null,
+ //"terminalCursor.foreground": null,
+ //"testing.message.info.lineBackground": null,
+ //"titleBar.border": null,
+ //"toolbar.hoverOutline": null,
+ //"walkThrough.embeddedEditorBackground": null,
+ //"welcomePage.background": null,
+ //"window.activeBorder": null,
+ //"window.inactiveBorder": null
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "emphasis",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "strong",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#000080"
+ }
+ },
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "#008000"
+ }
+ },
+ {
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "variable.other.enummember",
+ "keyword.operator.plus.exponent",
+ "keyword.operator.minus.exponent"
+ ],
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "constant.regexp",
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "entity.name.selector",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#FF0000"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.class.css",
+ "entity.other.attribute-name.class.mixin.css",
+ "entity.other.attribute-name.id.css",
+ "entity.other.attribute-name.parent-selector.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.pseudo-element.css",
+ "source.css.less entity.other.attribute-name.id",
+ "entity.other.attribute-name.scss"
+ ],
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "invalid",
+ "settings": {
+ "foreground": "#CD3131"
+ }
+ },
+ {
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#000080",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#800000",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.strikethrough",
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.quote.begin.markdown",
+ "punctuation.definition.list.begin.markdown"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "entity.name.function.preprocessor"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.string",
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.numeric",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "meta.structure.dictionary.key.python",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "storage",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "storage.type",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier",
+ "keyword.operator.noexcept"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "meta.embedded.assembly"
+ ],
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": [
+ "string.comment.buffered.block.pug",
+ "string.quoted.pug",
+ "string.interpolated.pug",
+ "string.unquoted.plain.in.yaml",
+ "string.unquoted.plain.out.yaml",
+ "string.unquoted.block.yaml",
+ "string.quoted.single.yaml",
+ "string.quoted.double.xml",
+ "string.quoted.single.xml",
+ "string.unquoted.cdata.xml",
+ "string.quoted.double.html",
+ "string.quoted.single.html",
+ "string.unquoted.html",
+ "string.quoted.single.handlebars",
+ "string.quoted.double.handlebars"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name",
+ "support.type.property-name",
+ "variable.css",
+ "variable.scss",
+ "variable.other.less",
+ "source.coffee.embedded"
+ ],
+ "settings": {
+ "foreground": "#FF0000"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.json"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.new",
+ "keyword.operator.expression",
+ "keyword.operator.cast",
+ "keyword.operator.sizeof",
+ "keyword.operator.alignof",
+ "keyword.operator.typeid",
+ "keyword.operator.alignas",
+ "keyword.operator.instanceof",
+ "keyword.operator.logical.python",
+ "keyword.operator.wordlike"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "support.function.git-rebase",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "constant.sha.git-rebase",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.import.java",
+ "variable.language.wildcard.java",
+ "storage.modifier.package.java"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function",
+ "support.function",
+ "support.constant.handlebars",
+ "source.powershell variable.other.member",
+ "entity.name.operator.custom-literal"
+ ],
+ "settings": {
+ "foreground": "#795E26"
+ }
+ },
+ {
+ "scope": [
+ "support.class",
+ "support.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "entity.other.attribute",
+ "entity.name.scope-resolution",
+ "entity.name.class",
+ "storage.type.numeric.go",
+ "storage.type.byte.go",
+ "storage.type.boolean.go",
+ "storage.type.string.go",
+ "storage.type.uintptr.go",
+ "storage.type.error.go",
+ "storage.type.rune.go",
+ "storage.type.cs",
+ "storage.type.generic.cs",
+ "storage.type.modifier.cs",
+ "storage.type.variable.cs",
+ "storage.type.annotation.java",
+ "storage.type.generic.java",
+ "storage.type.java",
+ "storage.type.object.array.java",
+ "storage.type.primitive.array.java",
+ "storage.type.primitive.java",
+ "storage.type.token.java",
+ "storage.type.groovy",
+ "storage.type.annotation.groovy",
+ "storage.type.parameters.groovy",
+ "storage.type.generic.groovy",
+ "storage.type.object.array.groovy",
+ "storage.type.primitive.array.groovy",
+ "storage.type.primitive.groovy"
+ ],
+ "settings": {
+ "foreground": "#267F99"
+ }
+ },
+ {
+ "scope": [
+ "meta.type.cast.expr",
+ "meta.type.new.expr",
+ "support.constant.math",
+ "support.constant.dom",
+ "support.constant.json",
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#267F99"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control",
+ "source.cpp keyword.operator.new",
+ "source.cpp keyword.operator.delete",
+ "keyword.other.using",
+ "keyword.other.operator",
+ "entity.name.operator"
+ ],
+ "settings": {
+ "foreground": "#AF00DB"
+ }
+ },
+ {
+ "scope": [
+ "variable",
+ "meta.definition.variable.name",
+ "support.variable",
+ "entity.name.variable",
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#001080"
+ }
+ },
+ {
+ "scope": [
+ "variable.other.constant",
+ "variable.other.enummember"
+ ],
+ "settings": {
+ "foreground": "#0070C1"
+ }
+ },
+ {
+ "scope": [
+ "meta.object-literal.key"
+ ],
+ "settings": {
+ "foreground": "#001080"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.group.regexp",
+ "punctuation.definition.group.assertion.regexp",
+ "punctuation.definition.character-class.regexp",
+ "punctuation.character.set.begin.regexp",
+ "punctuation.character.set.end.regexp",
+ "keyword.operator.negation.regexp",
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.character-class.regexp",
+ "constant.other.character-class.set.regexp",
+ "constant.other.character-class.regexp",
+ "constant.character.set.regexp"
+ ],
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.or.regexp",
+ "keyword.control.anchor.regexp"
+ ],
+ "settings": {
+ "foreground": "#EE0000"
+ }
+ },
+ {
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#EE0000"
+ }
+ },
+ {
+ "scope": "entity.name.label",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#316BCD"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#CD3131"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#800080"
+ }
+ }
+ ]
+}
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/Adwaita-dark.xml b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/Adwaita-dark.xml
new file mode 100644
index 00000000..5f0306e4
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/Adwaita-dark.xml
@@ -0,0 +1,183 @@
+
+
+
+ Christian Hergert
+ <_description>An style scheme for Adwaita
+
+
+ dark
+ Adwaita
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/Adwaita.xml b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/Adwaita.xml
new file mode 100644
index 00000000..d8f3f3d0
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/Adwaita.xml
@@ -0,0 +1,181 @@
+
+
+
+ Christian Hergert
+ <_description>An style scheme for Adwaita
+
+
+ light
+ Adwaita-dark
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/update.sh b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/update.sh
new file mode 100755
index 00000000..46d221d9
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/src/gtksourceview_xml/update.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+curl -O https://gitlab.gnome.org/GNOME/gtksourceview/-/raw/master/data/styles/Adwaita-dark.xml
+curl -O https://gitlab.gnome.org/GNOME/gtksourceview/-/raw/master/data/styles/Adwaita.xml
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-colorful-status-bar.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-colorful-status-bar.json
new file mode 100644
index 00000000..b23c9ec0
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-colorful-status-bar.json
@@ -0,0 +1,551 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Dark & colorful status bar",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#303030",
+ "titleBar.activeBackground": "#303030",
+ "tab.activeBackground": "#303030",
+ "tab.inactiveBackground": "#262626",
+ "editorGroupHeader.tabsBackground": "#262626",
+ "breadcrumb.background": "#262626",
+ "tab.hoverBackground": "#363636",
+ "panel.background": "#242424",
+ "sideBar.background": "#242424",
+ "statusBar.background": "#1C71D8",
+ "statusBar.noFolderBackground": "#613583",
+ "statusBarItem.remoteBackground": "#1F7F56",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#454545",
+ "editorBracketMatch.border": "#454545",
+ "editorGroup.border": "#454545",
+ "editorGroupHeader.border": "#454545",
+ "editorGroupHeader.tabsBorder": "#454545",
+ "panel.border": "#454545",
+ "panelSectionHeader.border": "#454545",
+ "sideBar.border": "#454545",
+ "sideBarSectionHeader.border": "#454545",
+ "statusBar.border": "#454545",
+ "tab.border": "#454545",
+ "titleBar.border": "#454545",
+ "window.activeBorder": "#454545",
+ "tree.indentGuidesStroke": "#45454599",
+ "editorIndentGuide.activeBackground": "#45454599",
+ "editorIndentGuide.background": "#45454580",
+ "editorRuler.foreground": "#45454580",
+ "editorBracketMatch.background": "#45454520",
+ "list.hoverBackground": "#333333",
+ "list.inactiveSelectionBackground": "#3a3a3a",
+ "input.background": "#3a3a3a",
+ "statusBar.foreground": "#ffffff",
+ "statusBar.noFolderForeground": "#ffffff",
+ "statusBar.debuggingForeground": "#ffffff",
+ "statusBarItem.remoteForeground": "#ffffff",
+ "sideBar.foreground": "#cccccc",
+ "panelTitle.activeBorder": "#cccccc",
+ "panelTitle.activeForeground": "#cccccc",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1B497E",
+ "list.highlightForeground": "#ffffff",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#1F7F56",
+ "editorGutter.deletedBackground": "#A51D2D",
+ "editorGutter.modifiedBackground": "#1A5FB4",
+ "gitDecoration.addedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.renamedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.untrackedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.modifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.stageModifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#444444",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#ffffff",
+ "editor.background": "#1d1d1d",
+ "editorLineNumber.foreground": "#666666",
+ "widget.shadow": "#00000033",
+ "statusBar.debuggingBackground": "#C64600"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "",
+ "meta.embedded",
+ "variable",
+ "meta.tag.attributes punctuation.section.embedded",
+ "keyword.operator",
+ "storage.type.function.arrow",
+ "keyword.control.flow.block-scalar.literal",
+ "keyword.control.flow.block-scalar.folded",
+ "storage.modifier.chomping-indicator",
+ "storage.type.string",
+ "string.quoted.byte.raw",
+ "meta.macro.rules entity.name.function.macro.rust"
+ ],
+ "settings": {
+ "foreground": "#C0BFBC",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.binary",
+ "constant.numeric.octal",
+ "constant.numeric.hex",
+ "keyword.other.unit.binary",
+ "keyword.other.unit.octal",
+ "keyword.other.unit.hexadecimal",
+ "keyword.other.unit.imaginary",
+ "keyword.other.unit.exponent"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language.boolean",
+ "constant.language.bool"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment",
+ "entity.other.document.begin.yaml",
+ "entity.other.document.end.yaml"
+ ],
+ "settings": {
+ "foreground": "#77767B",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language",
+ "string.quoted.single.char",
+ "support.type.property-name",
+ "support.constant.property-value.css",
+ "source.css keyword.other.unit"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "constant.numeric entity.name.type.numeric"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.block.documentation"
+ ],
+ "settings": {
+ "foreground": "#9A9996",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.float"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#62A0EA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.heading.markdown"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword",
+ "keyword.operator.new",
+ "keyword.operator.logical.python",
+ "source.js keyword.operator.expression",
+ "source.ts keyword.operator.expression",
+ "storage.modifier",
+ "storage.type.class",
+ "storage.type.function",
+ "entity.name.tag.yaml",
+ "source.js storage.type",
+ "source.ts storage.type",
+ "source.tsx storage.type",
+ "source.rust storage.type"
+ ],
+ "settings": {
+ "foreground": "#FFA348",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "meta.preprocessor keyword.control",
+ "punctuation.decorator",
+ "meta.decorator entity.name.function",
+ "entity.name.function.decorator",
+ "keyword.control.at-rule.media",
+ "constant.character.entity",
+ "punctuation.section.embedded",
+ "punctuation.definition.template-expression"
+ ],
+ "settings": {
+ "foreground": "#E66100",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.line.number-sign.shebang"
+ ],
+ "settings": {
+ "foreground": "#9A9996",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "string"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.bold.markdown"
+ ],
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "storage.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "keyword.type.cs",
+ "support.type",
+ "support.class.builtin",
+ "support.class.promise"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor.cs"
+ ],
+ "settings": {
+ "foreground": "#5E5C64",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.modifier"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.type"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.id.css"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.pseudo-element.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "meta.selector.css punctuation.section.function"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.selector.css keyword.operator",
+ "entity.other.attribute-name.css"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#E5A50A",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.inserted.diff"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.changed"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.header"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.range"
+ ],
+ "settings": {
+ "foreground": "#F5C211",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.deleted.diff"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder.go"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "support.function.builtin.python"
+ ],
+ "settings": {
+ "foreground": "#62A0EA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.class.python"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control.import.python"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.attribute.rust",
+ "meta.attribute.rust keyword.operator"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.lifetime.rust"
+ ],
+ "settings": {
+ "foreground": "#FFA348",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function.macro"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag entity.other.attribute-name",
+ "meta.tag keyword.operator.assignment",
+ "punctuation.separator.key-value.html",
+ "punctuation.separator.key-value.svelte",
+ "text.xml meta.tag"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag string"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.tag",
+ "support.class.component.svelte",
+ "punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "text.xml meta.tag.preprocessor entity.name.tag",
+ "text.xml meta.tag.preprocessor punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#F5C211",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "markup.italic.markdown"
+ ],
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": [
+ "markup.strikethrough.markdown"
+ ],
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-default-syntax-highlighting-colorful-status-bar.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-default-syntax-highlighting-colorful-status-bar.json
new file mode 100644
index 00000000..361eddd2
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-default-syntax-highlighting-colorful-status-bar.json
@@ -0,0 +1,642 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Dark & default syntax highlighting & colorful status bar",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#303030",
+ "titleBar.activeBackground": "#303030",
+ "tab.activeBackground": "#303030",
+ "tab.inactiveBackground": "#262626",
+ "editorGroupHeader.tabsBackground": "#262626",
+ "breadcrumb.background": "#262626",
+ "tab.hoverBackground": "#363636",
+ "panel.background": "#242424",
+ "sideBar.background": "#242424",
+ "statusBar.background": "#1C71D8",
+ "statusBar.noFolderBackground": "#613583",
+ "statusBarItem.remoteBackground": "#1F7F56",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#454545",
+ "editorBracketMatch.border": "#454545",
+ "editorGroup.border": "#454545",
+ "editorGroupHeader.border": "#454545",
+ "editorGroupHeader.tabsBorder": "#454545",
+ "panel.border": "#454545",
+ "panelSectionHeader.border": "#454545",
+ "sideBar.border": "#454545",
+ "sideBarSectionHeader.border": "#454545",
+ "statusBar.border": "#454545",
+ "tab.border": "#454545",
+ "titleBar.border": "#454545",
+ "window.activeBorder": "#454545",
+ "tree.indentGuidesStroke": "#45454599",
+ "editorIndentGuide.activeBackground": "#45454599",
+ "editorIndentGuide.background": "#45454580",
+ "editorRuler.foreground": "#45454580",
+ "editorBracketMatch.background": "#45454520",
+ "list.hoverBackground": "#333333",
+ "list.inactiveSelectionBackground": "#3a3a3a",
+ "input.background": "#3a3a3a",
+ "statusBar.foreground": "#ffffff",
+ "statusBar.noFolderForeground": "#ffffff",
+ "statusBar.debuggingForeground": "#ffffff",
+ "statusBarItem.remoteForeground": "#ffffff",
+ "sideBar.foreground": "#cccccc",
+ "panelTitle.activeBorder": "#cccccc",
+ "panelTitle.activeForeground": "#cccccc",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1B497E",
+ "list.highlightForeground": "#ffffff",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#1F7F56",
+ "editorGutter.deletedBackground": "#A51D2D",
+ "editorGutter.modifiedBackground": "#1A5FB4",
+ "gitDecoration.addedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.renamedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.untrackedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.modifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.stageModifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#444444",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#ffffff",
+ "editor.background": "#1d1d1d",
+ "editorLineNumber.foreground": "#666666",
+ "widget.shadow": "#00000033",
+ "statusBar.debuggingBackground": "#C64600"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": "emphasis",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "strong",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "header",
+ "settings": {
+ "foreground": "#000080"
+ }
+ },
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "variable.other.enummember",
+ "keyword.operator.plus.exponent",
+ "keyword.operator.minus.exponent"
+ ],
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "constant.regexp",
+ "settings": {
+ "foreground": "#646695"
+ }
+ },
+ {
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "entity.name.tag.css",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.class.css",
+ "entity.other.attribute-name.class.mixin.css",
+ "entity.other.attribute-name.id.css",
+ "entity.other.attribute-name.parent-selector.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.pseudo-element.css",
+ "source.css.less entity.other.attribute-name.id",
+ "entity.other.attribute-name.scss"
+ ],
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "invalid",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#569CD6",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#569CD6",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.strikethrough",
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "punctuation.definition.quote.begin.markdown",
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#808080"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "entity.name.function.preprocessor"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.string",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.numeric",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "meta.structure.dictionary.key.python",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "storage",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "storage.type",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier",
+ "keyword.operator.noexcept"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "meta.embedded.assembly"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.tag",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.value",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name",
+ "support.type.property-name",
+ "variable.css",
+ "variable.scss",
+ "variable.other.less",
+ "source.coffee.embedded"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.new",
+ "keyword.operator.expression",
+ "keyword.operator.cast",
+ "keyword.operator.sizeof",
+ "keyword.operator.alignof",
+ "keyword.operator.typeid",
+ "keyword.operator.alignas",
+ "keyword.operator.instanceof",
+ "keyword.operator.logical.python",
+ "keyword.operator.wordlike"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "support.function.git-rebase",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "constant.sha.git-rebase",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.import.java",
+ "variable.language.wildcard.java",
+ "storage.modifier.package.java"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function",
+ "support.function",
+ "support.constant.handlebars",
+ "source.powershell variable.other.member",
+ "entity.name.operator.custom-literal"
+ ],
+ "settings": {
+ "foreground": "#DCDCAA"
+ }
+ },
+ {
+ "scope": [
+ "support.class",
+ "support.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "entity.other.attribute",
+ "entity.name.scope-resolution",
+ "entity.name.class",
+ "storage.type.numeric.go",
+ "storage.type.byte.go",
+ "storage.type.boolean.go",
+ "storage.type.string.go",
+ "storage.type.uintptr.go",
+ "storage.type.error.go",
+ "storage.type.rune.go",
+ "storage.type.cs",
+ "storage.type.generic.cs",
+ "storage.type.modifier.cs",
+ "storage.type.variable.cs",
+ "storage.type.annotation.java",
+ "storage.type.generic.java",
+ "storage.type.java",
+ "storage.type.object.array.java",
+ "storage.type.primitive.array.java",
+ "storage.type.primitive.java",
+ "storage.type.token.java",
+ "storage.type.groovy",
+ "storage.type.annotation.groovy",
+ "storage.type.parameters.groovy",
+ "storage.type.generic.groovy",
+ "storage.type.object.array.groovy",
+ "storage.type.primitive.array.groovy",
+ "storage.type.primitive.groovy"
+ ],
+ "settings": {
+ "foreground": "#4EC9B0"
+ }
+ },
+ {
+ "scope": [
+ "meta.type.cast.expr",
+ "meta.type.new.expr",
+ "support.constant.math",
+ "support.constant.dom",
+ "support.constant.json",
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#4EC9B0"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control",
+ "source.cpp keyword.operator.new",
+ "keyword.operator.delete",
+ "keyword.other.using",
+ "keyword.other.operator",
+ "entity.name.operator"
+ ],
+ "settings": {
+ "foreground": "#C586C0"
+ }
+ },
+ {
+ "scope": [
+ "variable",
+ "meta.definition.variable.name",
+ "support.variable",
+ "entity.name.variable",
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "variable.other.constant",
+ "variable.other.enummember"
+ ],
+ "settings": {
+ "foreground": "#4FC1FF"
+ }
+ },
+ {
+ "scope": [
+ "meta.object-literal.key"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.group.regexp",
+ "punctuation.definition.group.assertion.regexp",
+ "punctuation.definition.character-class.regexp",
+ "punctuation.character.set.begin.regexp",
+ "punctuation.character.set.end.regexp",
+ "keyword.operator.negation.regexp",
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.character-class.regexp",
+ "constant.other.character-class.set.regexp",
+ "constant.other.character-class.regexp",
+ "constant.character.set.regexp"
+ ],
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.or.regexp",
+ "keyword.control.anchor.regexp"
+ ],
+ "settings": {
+ "foreground": "#DCDCAA"
+ }
+ },
+ {
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "entity.name.label",
+ "settings": {
+ "foreground": "#C8C8C8"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#B267E6"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-default-syntax-highlighting.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-default-syntax-highlighting.json
new file mode 100644
index 00000000..4b8546c3
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark-default-syntax-highlighting.json
@@ -0,0 +1,641 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Dark & default syntax highlighting",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#303030",
+ "titleBar.activeBackground": "#303030",
+ "tab.activeBackground": "#303030",
+ "tab.inactiveBackground": "#262626",
+ "editorGroupHeader.tabsBackground": "#262626",
+ "breadcrumb.background": "#262626",
+ "tab.hoverBackground": "#363636",
+ "panel.background": "#242424",
+ "sideBar.background": "#242424",
+ "statusBar.background": "#242424",
+ "statusBar.noFolderBackground": "#242424",
+ "statusBarItem.remoteBackground": "#242424",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#454545",
+ "editorBracketMatch.border": "#454545",
+ "editorGroup.border": "#454545",
+ "editorGroupHeader.border": "#454545",
+ "editorGroupHeader.tabsBorder": "#454545",
+ "panel.border": "#454545",
+ "panelSectionHeader.border": "#454545",
+ "sideBar.border": "#454545",
+ "sideBarSectionHeader.border": "#454545",
+ "statusBar.border": "#454545",
+ "tab.border": "#454545",
+ "titleBar.border": "#454545",
+ "window.activeBorder": "#454545",
+ "tree.indentGuidesStroke": "#45454599",
+ "editorIndentGuide.activeBackground": "#45454599",
+ "editorIndentGuide.background": "#45454580",
+ "editorRuler.foreground": "#45454580",
+ "editorBracketMatch.background": "#45454520",
+ "list.hoverBackground": "#333333",
+ "list.inactiveSelectionBackground": "#3a3a3a",
+ "input.background": "#3a3a3a",
+ "statusBar.foreground": "#cccccc",
+ "statusBar.noFolderForeground": "#cccccc",
+ "statusBar.debuggingForeground": "#cccccc",
+ "statusBarItem.remoteForeground": "#cccccc",
+ "sideBar.foreground": "#cccccc",
+ "panelTitle.activeBorder": "#cccccc",
+ "panelTitle.activeForeground": "#cccccc",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1B497E",
+ "list.highlightForeground": "#ffffff",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#1F7F56",
+ "editorGutter.deletedBackground": "#A51D2D",
+ "editorGutter.modifiedBackground": "#1A5FB4",
+ "gitDecoration.addedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.renamedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.untrackedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.modifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.stageModifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#444444",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#ffffff",
+ "editor.background": "#1d1d1d",
+ "editorLineNumber.foreground": "#666666",
+ "widget.shadow": "#00000033"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": "emphasis",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "strong",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "header",
+ "settings": {
+ "foreground": "#000080"
+ }
+ },
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "variable.other.enummember",
+ "keyword.operator.plus.exponent",
+ "keyword.operator.minus.exponent"
+ ],
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "constant.regexp",
+ "settings": {
+ "foreground": "#646695"
+ }
+ },
+ {
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "entity.name.tag.css",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.class.css",
+ "entity.other.attribute-name.class.mixin.css",
+ "entity.other.attribute-name.id.css",
+ "entity.other.attribute-name.parent-selector.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.pseudo-element.css",
+ "source.css.less entity.other.attribute-name.id",
+ "entity.other.attribute-name.scss"
+ ],
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "invalid",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#569CD6",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#569CD6",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.strikethrough",
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "punctuation.definition.quote.begin.markdown",
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#808080"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "entity.name.function.preprocessor"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.string",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.numeric",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": "meta.structure.dictionary.key.python",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "storage",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "storage.type",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier",
+ "keyword.operator.noexcept"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "meta.embedded.assembly"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.tag",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.value",
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name",
+ "support.type.property-name",
+ "variable.css",
+ "variable.scss",
+ "variable.other.less",
+ "source.coffee.embedded"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.new",
+ "keyword.operator.expression",
+ "keyword.operator.cast",
+ "keyword.operator.sizeof",
+ "keyword.operator.alignof",
+ "keyword.operator.typeid",
+ "keyword.operator.alignas",
+ "keyword.operator.instanceof",
+ "keyword.operator.logical.python",
+ "keyword.operator.wordlike"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "support.function.git-rebase",
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": "constant.sha.git-rebase",
+ "settings": {
+ "foreground": "#B5CEA8"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.import.java",
+ "variable.language.wildcard.java",
+ "storage.modifier.package.java"
+ ],
+ "settings": {
+ "foreground": "#D4D4D4"
+ }
+ },
+ {
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function",
+ "support.function",
+ "support.constant.handlebars",
+ "source.powershell variable.other.member",
+ "entity.name.operator.custom-literal"
+ ],
+ "settings": {
+ "foreground": "#DCDCAA"
+ }
+ },
+ {
+ "scope": [
+ "support.class",
+ "support.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "entity.other.attribute",
+ "entity.name.scope-resolution",
+ "entity.name.class",
+ "storage.type.numeric.go",
+ "storage.type.byte.go",
+ "storage.type.boolean.go",
+ "storage.type.string.go",
+ "storage.type.uintptr.go",
+ "storage.type.error.go",
+ "storage.type.rune.go",
+ "storage.type.cs",
+ "storage.type.generic.cs",
+ "storage.type.modifier.cs",
+ "storage.type.variable.cs",
+ "storage.type.annotation.java",
+ "storage.type.generic.java",
+ "storage.type.java",
+ "storage.type.object.array.java",
+ "storage.type.primitive.array.java",
+ "storage.type.primitive.java",
+ "storage.type.token.java",
+ "storage.type.groovy",
+ "storage.type.annotation.groovy",
+ "storage.type.parameters.groovy",
+ "storage.type.generic.groovy",
+ "storage.type.object.array.groovy",
+ "storage.type.primitive.array.groovy",
+ "storage.type.primitive.groovy"
+ ],
+ "settings": {
+ "foreground": "#4EC9B0"
+ }
+ },
+ {
+ "scope": [
+ "meta.type.cast.expr",
+ "meta.type.new.expr",
+ "support.constant.math",
+ "support.constant.dom",
+ "support.constant.json",
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#4EC9B0"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control",
+ "source.cpp keyword.operator.new",
+ "keyword.operator.delete",
+ "keyword.other.using",
+ "keyword.other.operator",
+ "entity.name.operator"
+ ],
+ "settings": {
+ "foreground": "#C586C0"
+ }
+ },
+ {
+ "scope": [
+ "variable",
+ "meta.definition.variable.name",
+ "support.variable",
+ "entity.name.variable",
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "variable.other.constant",
+ "variable.other.enummember"
+ ],
+ "settings": {
+ "foreground": "#4FC1FF"
+ }
+ },
+ {
+ "scope": [
+ "meta.object-literal.key"
+ ],
+ "settings": {
+ "foreground": "#9CDCFE"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.group.regexp",
+ "punctuation.definition.group.assertion.regexp",
+ "punctuation.definition.character-class.regexp",
+ "punctuation.character.set.begin.regexp",
+ "punctuation.character.set.end.regexp",
+ "keyword.operator.negation.regexp",
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#CE9178"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.character-class.regexp",
+ "constant.other.character-class.set.regexp",
+ "constant.other.character-class.regexp",
+ "constant.character.set.regexp"
+ ],
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.or.regexp",
+ "keyword.control.anchor.regexp"
+ ],
+ "settings": {
+ "foreground": "#DCDCAA"
+ }
+ },
+ {
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#569CD6"
+ }
+ },
+ {
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#D7BA7D"
+ }
+ },
+ {
+ "scope": "entity.name.label",
+ "settings": {
+ "foreground": "#C8C8C8"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#B267E6"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark.json
new file mode 100644
index 00000000..bc4b0ba2
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-dark.json
@@ -0,0 +1,550 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Dark",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#303030",
+ "titleBar.activeBackground": "#303030",
+ "tab.activeBackground": "#303030",
+ "tab.inactiveBackground": "#262626",
+ "editorGroupHeader.tabsBackground": "#262626",
+ "breadcrumb.background": "#262626",
+ "tab.hoverBackground": "#363636",
+ "panel.background": "#242424",
+ "sideBar.background": "#242424",
+ "statusBar.background": "#242424",
+ "statusBar.noFolderBackground": "#242424",
+ "statusBarItem.remoteBackground": "#242424",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#454545",
+ "editorBracketMatch.border": "#454545",
+ "editorGroup.border": "#454545",
+ "editorGroupHeader.border": "#454545",
+ "editorGroupHeader.tabsBorder": "#454545",
+ "panel.border": "#454545",
+ "panelSectionHeader.border": "#454545",
+ "sideBar.border": "#454545",
+ "sideBarSectionHeader.border": "#454545",
+ "statusBar.border": "#454545",
+ "tab.border": "#454545",
+ "titleBar.border": "#454545",
+ "window.activeBorder": "#454545",
+ "tree.indentGuidesStroke": "#45454599",
+ "editorIndentGuide.activeBackground": "#45454599",
+ "editorIndentGuide.background": "#45454580",
+ "editorRuler.foreground": "#45454580",
+ "editorBracketMatch.background": "#45454520",
+ "list.hoverBackground": "#333333",
+ "list.inactiveSelectionBackground": "#3a3a3a",
+ "input.background": "#3a3a3a",
+ "statusBar.foreground": "#cccccc",
+ "statusBar.noFolderForeground": "#cccccc",
+ "statusBar.debuggingForeground": "#cccccc",
+ "statusBarItem.remoteForeground": "#cccccc",
+ "sideBar.foreground": "#cccccc",
+ "panelTitle.activeBorder": "#cccccc",
+ "panelTitle.activeForeground": "#cccccc",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1B497E",
+ "list.highlightForeground": "#ffffff",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#1F7F56",
+ "editorGutter.deletedBackground": "#A51D2D",
+ "editorGutter.modifiedBackground": "#1A5FB4",
+ "gitDecoration.addedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.renamedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.untrackedResourceForeground": "#8FF0A4dd",
+ "gitDecoration.modifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.stageModifiedResourceForeground": "#FFBE6Fdd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#444444",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#ffffff",
+ "editor.background": "#1d1d1d",
+ "editorLineNumber.foreground": "#666666",
+ "widget.shadow": "#00000033"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "",
+ "meta.embedded",
+ "variable",
+ "meta.tag.attributes punctuation.section.embedded",
+ "keyword.operator",
+ "storage.type.function.arrow",
+ "keyword.control.flow.block-scalar.literal",
+ "keyword.control.flow.block-scalar.folded",
+ "storage.modifier.chomping-indicator",
+ "storage.type.string",
+ "string.quoted.byte.raw",
+ "meta.macro.rules entity.name.function.macro.rust"
+ ],
+ "settings": {
+ "foreground": "#C0BFBC",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.binary",
+ "constant.numeric.octal",
+ "constant.numeric.hex",
+ "keyword.other.unit.binary",
+ "keyword.other.unit.octal",
+ "keyword.other.unit.hexadecimal",
+ "keyword.other.unit.imaginary",
+ "keyword.other.unit.exponent"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language.boolean",
+ "constant.language.bool"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment",
+ "entity.other.document.begin.yaml",
+ "entity.other.document.end.yaml"
+ ],
+ "settings": {
+ "foreground": "#77767B",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language",
+ "string.quoted.single.char",
+ "support.type.property-name",
+ "support.constant.property-value.css",
+ "source.css keyword.other.unit"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "constant.numeric entity.name.type.numeric"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.block.documentation"
+ ],
+ "settings": {
+ "foreground": "#9A9996",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.float"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#62A0EA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.heading.markdown"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword",
+ "keyword.operator.new",
+ "keyword.operator.logical.python",
+ "source.js keyword.operator.expression",
+ "source.ts keyword.operator.expression",
+ "storage.modifier",
+ "storage.type.class",
+ "storage.type.function",
+ "entity.name.tag.yaml",
+ "source.js storage.type",
+ "source.ts storage.type",
+ "source.tsx storage.type",
+ "source.rust storage.type"
+ ],
+ "settings": {
+ "foreground": "#FFA348",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "meta.preprocessor keyword.control",
+ "punctuation.decorator",
+ "meta.decorator entity.name.function",
+ "entity.name.function.decorator",
+ "keyword.control.at-rule.media",
+ "constant.character.entity",
+ "punctuation.section.embedded",
+ "punctuation.definition.template-expression"
+ ],
+ "settings": {
+ "foreground": "#E66100",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.line.number-sign.shebang"
+ ],
+ "settings": {
+ "foreground": "#9A9996",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "string"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.bold.markdown"
+ ],
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "storage.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "keyword.type.cs",
+ "support.type",
+ "support.class.builtin",
+ "support.class.promise"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor.cs"
+ ],
+ "settings": {
+ "foreground": "#5E5C64",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.modifier"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.type"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.id.css"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.pseudo-element.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "meta.selector.css punctuation.section.function"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.selector.css keyword.operator",
+ "entity.other.attribute-name.css"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#E5A50A",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.inserted.diff"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.changed"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.header"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.range"
+ ],
+ "settings": {
+ "foreground": "#F5C211",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.deleted.diff"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder.go"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "support.function.builtin.python"
+ ],
+ "settings": {
+ "foreground": "#62A0EA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.class.python"
+ ],
+ "settings": {
+ "foreground": "#5BC8AF",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control.import.python"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.attribute.rust",
+ "meta.attribute.rust keyword.operator"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.lifetime.rust"
+ ],
+ "settings": {
+ "foreground": "#FFA348",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function.macro"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag entity.other.attribute-name",
+ "meta.tag keyword.operator.assignment",
+ "punctuation.separator.key-value.html",
+ "punctuation.separator.key-value.svelte",
+ "text.xml meta.tag"
+ ],
+ "settings": {
+ "foreground": "#FF7800",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag string"
+ ],
+ "settings": {
+ "foreground": "#7D8AC7",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.tag",
+ "support.class.component.svelte",
+ "punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#33B2A4",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "text.xml meta.tag.preprocessor entity.name.tag",
+ "text.xml meta.tag.preprocessor punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#F5C211",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "markup.italic.markdown"
+ ],
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": [
+ "markup.strikethrough.markdown"
+ ],
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-colorful-status-bar.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-colorful-status-bar.json
new file mode 100644
index 00000000..e6f2217a
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-colorful-status-bar.json
@@ -0,0 +1,551 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Light & colorful status bar",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#ebebeb",
+ "titleBar.activeBackground": "#ebebeb",
+ "tab.activeBackground": "#ebebeb",
+ "tab.inactiveBackground": "#e1e1e1",
+ "editorGroupHeader.tabsBackground": "#e1e1e1",
+ "breadcrumb.background": "#e1e1e1",
+ "tab.hoverBackground": "#dcdcdc",
+ "panel.background": "#fafafa",
+ "sideBar.background": "#fafafa",
+ "statusBar.background": "#1C71D8",
+ "statusBar.noFolderBackground": "#613583",
+ "statusBarItem.remoteBackground": "#1F7F56",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#cfcfcf",
+ "editorBracketMatch.border": "#cfcfcf",
+ "editorGroup.border": "#cfcfcf",
+ "editorGroupHeader.border": "#cfcfcf",
+ "editorGroupHeader.tabsBorder": "#cfcfcf",
+ "panel.border": "#cfcfcf",
+ "panelSectionHeader.border": "#cfcfcf",
+ "sideBar.border": "#cfcfcf",
+ "sideBarSectionHeader.border": "#cfcfcf",
+ "statusBar.border": "#cfcfcf",
+ "tab.border": "#cfcfcf",
+ "titleBar.border": "#cfcfcf",
+ "window.activeBorder": "#cfcfcf",
+ "tree.indentGuidesStroke": "#cfcfcf99",
+ "editorIndentGuide.activeBackground": "#cfcfcf99",
+ "editorIndentGuide.background": "#cfcfcf80",
+ "editorRuler.foreground": "#cfcfcf80",
+ "editorBracketMatch.background": "#cfcfcf80",
+ "list.hoverBackground": "#ececec",
+ "list.inactiveSelectionBackground": "#e6e6e6",
+ "input.background": "#e6e6e6",
+ "statusBar.foreground": "#ffffff",
+ "statusBar.noFolderForeground": "#ffffff",
+ "statusBar.debuggingForeground": "#ffffff",
+ "statusBarItem.remoteForeground": "#ffffff",
+ "sideBar.foreground": "#323232",
+ "panelTitle.activeBorder": "#323232",
+ "panelTitle.activeForeground": "#323232",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1C71D8",
+ "list.highlightForeground": "#000000",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#33D17A",
+ "editorGutter.deletedBackground": "#C01C28",
+ "editorGutter.modifiedBackground": "#62A0EA",
+ "gitDecoration.addedResourceForeground": "#26A269dd",
+ "gitDecoration.renamedResourceForeground": "#26A269dd",
+ "gitDecoration.untrackedResourceForeground": "#26A269dd",
+ "gitDecoration.modifiedResourceForeground": "#E66100dd",
+ "gitDecoration.stageModifiedResourceForeground": "#E66100dd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#d9d9d9",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#000000",
+ "editor.background": "#ffffff",
+ "editorLineNumber.foreground": "#32323280",
+ "widget.shadow": "#00000022",
+ "statusBar.debuggingBackground": "#C64600"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "",
+ "meta.embedded",
+ "variable",
+ "meta.tag.attributes punctuation.section.embedded",
+ "keyword.operator",
+ "storage.type.function.arrow",
+ "keyword.control.flow.block-scalar.literal",
+ "keyword.control.flow.block-scalar.folded",
+ "storage.modifier.chomping-indicator",
+ "storage.type.string",
+ "string.quoted.byte.raw",
+ "meta.macro.rules entity.name.function.macro.rust"
+ ],
+ "settings": {
+ "foreground": "#504E55",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.binary",
+ "constant.numeric.octal",
+ "constant.numeric.hex",
+ "keyword.other.unit.binary",
+ "keyword.other.unit.octal",
+ "keyword.other.unit.hexadecimal",
+ "keyword.other.unit.imaginary",
+ "keyword.other.unit.exponent"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language.boolean",
+ "constant.language.bool"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment",
+ "entity.other.document.begin.yaml",
+ "entity.other.document.end.yaml"
+ ],
+ "settings": {
+ "foreground": "#77767B",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language",
+ "string.quoted.single.char",
+ "support.type.property-name",
+ "support.constant.property-value.css",
+ "source.css keyword.other.unit"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "constant.numeric entity.name.type.numeric"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.block.documentation"
+ ],
+ "settings": {
+ "foreground": "#504E55",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.float"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#1C71D8",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.heading.markdown"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword",
+ "keyword.operator.new",
+ "keyword.operator.logical.python",
+ "source.js keyword.operator.expression",
+ "source.ts keyword.operator.expression",
+ "storage.modifier",
+ "storage.type.class",
+ "storage.type.function",
+ "entity.name.tag.yaml",
+ "source.js storage.type",
+ "source.ts storage.type",
+ "source.tsx storage.type",
+ "source.rust storage.type"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "meta.preprocessor keyword.control",
+ "punctuation.decorator",
+ "meta.decorator entity.name.function",
+ "entity.name.function.decorator",
+ "keyword.control.at-rule.media",
+ "constant.character.entity",
+ "punctuation.section.embedded",
+ "punctuation.definition.template-expression"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.line.number-sign.shebang"
+ ],
+ "settings": {
+ "foreground": "#77767B",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#ED333B",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "string"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.bold.markdown"
+ ],
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "storage.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "keyword.type.cs",
+ "support.type",
+ "support.class.builtin",
+ "support.class.promise"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor.cs"
+ ],
+ "settings": {
+ "foreground": "#5E5C64",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.modifier"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.type"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.id.css"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.pseudo-element.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "meta.selector.css punctuation.section.function"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.selector.css keyword.operator",
+ "entity.other.attribute-name.css"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#D38B09",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.inserted.diff"
+ ],
+ "settings": {
+ "foreground": "#26A1A2",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.changed"
+ ],
+ "settings": {
+ "foreground": "#E66100",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.header"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.range"
+ ],
+ "settings": {
+ "foreground": "#D38B09",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.deleted.diff"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder.go"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "support.function.builtin.python"
+ ],
+ "settings": {
+ "foreground": "#1C71D8",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.class.python"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control.import.python"
+ ],
+ "settings": {
+ "foreground": "#E01B24",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.attribute.rust",
+ "meta.attribute.rust keyword.operator"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.lifetime.rust"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function.macro"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag entity.other.attribute-name",
+ "meta.tag keyword.operator.assignment",
+ "punctuation.separator.key-value.html",
+ "punctuation.separator.key-value.svelte",
+ "text.xml meta.tag"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag string"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.tag",
+ "support.class.component.svelte",
+ "punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "text.xml meta.tag.preprocessor entity.name.tag",
+ "text.xml meta.tag.preprocessor punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#D38B09",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "markup.italic.markdown"
+ ],
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": [
+ "markup.strikethrough.markdown"
+ ],
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-default-syntax-highlighting-colorful-status-bar.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-default-syntax-highlighting-colorful-status-bar.json
new file mode 100644
index 00000000..233ef996
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-default-syntax-highlighting-colorful-status-bar.json
@@ -0,0 +1,665 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Light & default syntax highlighting & colorful status bar",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#ebebeb",
+ "titleBar.activeBackground": "#ebebeb",
+ "tab.activeBackground": "#ebebeb",
+ "tab.inactiveBackground": "#e1e1e1",
+ "editorGroupHeader.tabsBackground": "#e1e1e1",
+ "breadcrumb.background": "#e1e1e1",
+ "tab.hoverBackground": "#dcdcdc",
+ "panel.background": "#fafafa",
+ "sideBar.background": "#fafafa",
+ "statusBar.background": "#1C71D8",
+ "statusBar.noFolderBackground": "#613583",
+ "statusBarItem.remoteBackground": "#1F7F56",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#cfcfcf",
+ "editorBracketMatch.border": "#cfcfcf",
+ "editorGroup.border": "#cfcfcf",
+ "editorGroupHeader.border": "#cfcfcf",
+ "editorGroupHeader.tabsBorder": "#cfcfcf",
+ "panel.border": "#cfcfcf",
+ "panelSectionHeader.border": "#cfcfcf",
+ "sideBar.border": "#cfcfcf",
+ "sideBarSectionHeader.border": "#cfcfcf",
+ "statusBar.border": "#cfcfcf",
+ "tab.border": "#cfcfcf",
+ "titleBar.border": "#cfcfcf",
+ "window.activeBorder": "#cfcfcf",
+ "tree.indentGuidesStroke": "#cfcfcf99",
+ "editorIndentGuide.activeBackground": "#cfcfcf99",
+ "editorIndentGuide.background": "#cfcfcf80",
+ "editorRuler.foreground": "#cfcfcf80",
+ "editorBracketMatch.background": "#cfcfcf80",
+ "list.hoverBackground": "#ececec",
+ "list.inactiveSelectionBackground": "#e6e6e6",
+ "input.background": "#e6e6e6",
+ "statusBar.foreground": "#ffffff",
+ "statusBar.noFolderForeground": "#ffffff",
+ "statusBar.debuggingForeground": "#ffffff",
+ "statusBarItem.remoteForeground": "#ffffff",
+ "sideBar.foreground": "#323232",
+ "panelTitle.activeBorder": "#323232",
+ "panelTitle.activeForeground": "#323232",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1C71D8",
+ "list.highlightForeground": "#000000",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#33D17A",
+ "editorGutter.deletedBackground": "#C01C28",
+ "editorGutter.modifiedBackground": "#62A0EA",
+ "gitDecoration.addedResourceForeground": "#26A269dd",
+ "gitDecoration.renamedResourceForeground": "#26A269dd",
+ "gitDecoration.untrackedResourceForeground": "#26A269dd",
+ "gitDecoration.modifiedResourceForeground": "#E66100dd",
+ "gitDecoration.stageModifiedResourceForeground": "#E66100dd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#d9d9d9",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#000000",
+ "editor.background": "#ffffff",
+ "editorLineNumber.foreground": "#32323280",
+ "widget.shadow": "#00000022",
+ "statusBar.debuggingBackground": "#C64600"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "emphasis",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "strong",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#000080"
+ }
+ },
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "#008000"
+ }
+ },
+ {
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "variable.other.enummember",
+ "keyword.operator.plus.exponent",
+ "keyword.operator.minus.exponent"
+ ],
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "constant.regexp",
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "entity.name.selector",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#FF0000"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.class.css",
+ "entity.other.attribute-name.class.mixin.css",
+ "entity.other.attribute-name.id.css",
+ "entity.other.attribute-name.parent-selector.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.pseudo-element.css",
+ "source.css.less entity.other.attribute-name.id",
+ "entity.other.attribute-name.scss"
+ ],
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "invalid",
+ "settings": {
+ "foreground": "#CD3131"
+ }
+ },
+ {
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#000080",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#800000",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.strikethrough",
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.quote.begin.markdown",
+ "punctuation.definition.list.begin.markdown"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "entity.name.function.preprocessor"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.string",
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.numeric",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "meta.structure.dictionary.key.python",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "storage",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "storage.type",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier",
+ "keyword.operator.noexcept"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "meta.embedded.assembly"
+ ],
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": [
+ "string.comment.buffered.block.pug",
+ "string.quoted.pug",
+ "string.interpolated.pug",
+ "string.unquoted.plain.in.yaml",
+ "string.unquoted.plain.out.yaml",
+ "string.unquoted.block.yaml",
+ "string.quoted.single.yaml",
+ "string.quoted.double.xml",
+ "string.quoted.single.xml",
+ "string.unquoted.cdata.xml",
+ "string.quoted.double.html",
+ "string.quoted.single.html",
+ "string.unquoted.html",
+ "string.quoted.single.handlebars",
+ "string.quoted.double.handlebars"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name",
+ "support.type.property-name",
+ "variable.css",
+ "variable.scss",
+ "variable.other.less",
+ "source.coffee.embedded"
+ ],
+ "settings": {
+ "foreground": "#FF0000"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.json"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.new",
+ "keyword.operator.expression",
+ "keyword.operator.cast",
+ "keyword.operator.sizeof",
+ "keyword.operator.alignof",
+ "keyword.operator.typeid",
+ "keyword.operator.alignas",
+ "keyword.operator.instanceof",
+ "keyword.operator.logical.python",
+ "keyword.operator.wordlike"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "support.function.git-rebase",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "constant.sha.git-rebase",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.import.java",
+ "variable.language.wildcard.java",
+ "storage.modifier.package.java"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function",
+ "support.function",
+ "support.constant.handlebars",
+ "source.powershell variable.other.member",
+ "entity.name.operator.custom-literal"
+ ],
+ "settings": {
+ "foreground": "#795E26"
+ }
+ },
+ {
+ "scope": [
+ "support.class",
+ "support.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "entity.other.attribute",
+ "entity.name.scope-resolution",
+ "entity.name.class",
+ "storage.type.numeric.go",
+ "storage.type.byte.go",
+ "storage.type.boolean.go",
+ "storage.type.string.go",
+ "storage.type.uintptr.go",
+ "storage.type.error.go",
+ "storage.type.rune.go",
+ "storage.type.cs",
+ "storage.type.generic.cs",
+ "storage.type.modifier.cs",
+ "storage.type.variable.cs",
+ "storage.type.annotation.java",
+ "storage.type.generic.java",
+ "storage.type.java",
+ "storage.type.object.array.java",
+ "storage.type.primitive.array.java",
+ "storage.type.primitive.java",
+ "storage.type.token.java",
+ "storage.type.groovy",
+ "storage.type.annotation.groovy",
+ "storage.type.parameters.groovy",
+ "storage.type.generic.groovy",
+ "storage.type.object.array.groovy",
+ "storage.type.primitive.array.groovy",
+ "storage.type.primitive.groovy"
+ ],
+ "settings": {
+ "foreground": "#267F99"
+ }
+ },
+ {
+ "scope": [
+ "meta.type.cast.expr",
+ "meta.type.new.expr",
+ "support.constant.math",
+ "support.constant.dom",
+ "support.constant.json",
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#267F99"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control",
+ "source.cpp keyword.operator.new",
+ "source.cpp keyword.operator.delete",
+ "keyword.other.using",
+ "keyword.other.operator",
+ "entity.name.operator"
+ ],
+ "settings": {
+ "foreground": "#AF00DB"
+ }
+ },
+ {
+ "scope": [
+ "variable",
+ "meta.definition.variable.name",
+ "support.variable",
+ "entity.name.variable",
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#001080"
+ }
+ },
+ {
+ "scope": [
+ "variable.other.constant",
+ "variable.other.enummember"
+ ],
+ "settings": {
+ "foreground": "#0070C1"
+ }
+ },
+ {
+ "scope": [
+ "meta.object-literal.key"
+ ],
+ "settings": {
+ "foreground": "#001080"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.group.regexp",
+ "punctuation.definition.group.assertion.regexp",
+ "punctuation.definition.character-class.regexp",
+ "punctuation.character.set.begin.regexp",
+ "punctuation.character.set.end.regexp",
+ "keyword.operator.negation.regexp",
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.character-class.regexp",
+ "constant.other.character-class.set.regexp",
+ "constant.other.character-class.regexp",
+ "constant.character.set.regexp"
+ ],
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.or.regexp",
+ "keyword.control.anchor.regexp"
+ ],
+ "settings": {
+ "foreground": "#EE0000"
+ }
+ },
+ {
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#EE0000"
+ }
+ },
+ {
+ "scope": "entity.name.label",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#316BCD"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#CD3131"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#800080"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-default-syntax-highlighting.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-default-syntax-highlighting.json
new file mode 100644
index 00000000..4947621b
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light-default-syntax-highlighting.json
@@ -0,0 +1,664 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Light & default syntax highlighting",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#ebebeb",
+ "titleBar.activeBackground": "#ebebeb",
+ "tab.activeBackground": "#ebebeb",
+ "tab.inactiveBackground": "#e1e1e1",
+ "editorGroupHeader.tabsBackground": "#e1e1e1",
+ "breadcrumb.background": "#e1e1e1",
+ "tab.hoverBackground": "#dcdcdc",
+ "panel.background": "#fafafa",
+ "sideBar.background": "#fafafa",
+ "statusBar.background": "#fafafa",
+ "statusBar.noFolderBackground": "#fafafa",
+ "statusBarItem.remoteBackground": "#fafafa",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#cfcfcf",
+ "editorBracketMatch.border": "#cfcfcf",
+ "editorGroup.border": "#cfcfcf",
+ "editorGroupHeader.border": "#cfcfcf",
+ "editorGroupHeader.tabsBorder": "#cfcfcf",
+ "panel.border": "#cfcfcf",
+ "panelSectionHeader.border": "#cfcfcf",
+ "sideBar.border": "#cfcfcf",
+ "sideBarSectionHeader.border": "#cfcfcf",
+ "statusBar.border": "#cfcfcf",
+ "tab.border": "#cfcfcf",
+ "titleBar.border": "#cfcfcf",
+ "window.activeBorder": "#cfcfcf",
+ "tree.indentGuidesStroke": "#cfcfcf99",
+ "editorIndentGuide.activeBackground": "#cfcfcf99",
+ "editorIndentGuide.background": "#cfcfcf80",
+ "editorRuler.foreground": "#cfcfcf80",
+ "editorBracketMatch.background": "#cfcfcf80",
+ "list.hoverBackground": "#ececec",
+ "list.inactiveSelectionBackground": "#e6e6e6",
+ "input.background": "#e6e6e6",
+ "statusBar.foreground": "#323232",
+ "statusBar.noFolderForeground": "#323232",
+ "statusBar.debuggingForeground": "#323232",
+ "statusBarItem.remoteForeground": "#323232",
+ "sideBar.foreground": "#323232",
+ "panelTitle.activeBorder": "#323232",
+ "panelTitle.activeForeground": "#323232",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1C71D8",
+ "list.highlightForeground": "#000000",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#33D17A",
+ "editorGutter.deletedBackground": "#C01C28",
+ "editorGutter.modifiedBackground": "#62A0EA",
+ "gitDecoration.addedResourceForeground": "#26A269dd",
+ "gitDecoration.renamedResourceForeground": "#26A269dd",
+ "gitDecoration.untrackedResourceForeground": "#26A269dd",
+ "gitDecoration.modifiedResourceForeground": "#E66100dd",
+ "gitDecoration.stageModifiedResourceForeground": "#E66100dd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#d9d9d9",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#000000",
+ "editor.background": "#ffffff",
+ "editorLineNumber.foreground": "#32323280",
+ "widget.shadow": "#00000022"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "emphasis",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "strong",
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#000080"
+ }
+ },
+ {
+ "scope": "comment",
+ "settings": {
+ "foreground": "#008000"
+ }
+ },
+ {
+ "scope": "constant.language",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "variable.other.enummember",
+ "keyword.operator.plus.exponent",
+ "keyword.operator.minus.exponent"
+ ],
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "constant.regexp",
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": "entity.name.tag",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "entity.name.selector",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "entity.other.attribute-name",
+ "settings": {
+ "foreground": "#FF0000"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.class.css",
+ "entity.other.attribute-name.class.mixin.css",
+ "entity.other.attribute-name.id.css",
+ "entity.other.attribute-name.parent-selector.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.pseudo-element.css",
+ "source.css.less entity.other.attribute-name.id",
+ "entity.other.attribute-name.scss"
+ ],
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "invalid",
+ "settings": {
+ "foreground": "#CD3131"
+ }
+ },
+ {
+ "scope": "markup.underline",
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#000080",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.heading",
+ "settings": {
+ "foreground": "#800000",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.strikethrough",
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inserted",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "markup.deleted",
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": "markup.changed",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.quote.begin.markdown",
+ "punctuation.definition.list.begin.markdown"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "punctuation.definition.tag",
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "entity.name.function.preprocessor"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.string",
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": "meta.preprocessor.numeric",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": "meta.structure.dictionary.key.python",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "storage",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "storage.type",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier",
+ "keyword.operator.noexcept"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "meta.embedded.assembly"
+ ],
+ "settings": {
+ "foreground": "#A31515"
+ }
+ },
+ {
+ "scope": [
+ "string.comment.buffered.block.pug",
+ "string.quoted.pug",
+ "string.interpolated.pug",
+ "string.unquoted.plain.in.yaml",
+ "string.unquoted.plain.out.yaml",
+ "string.unquoted.block.yaml",
+ "string.quoted.single.yaml",
+ "string.quoted.double.xml",
+ "string.quoted.single.xml",
+ "string.unquoted.cdata.xml",
+ "string.quoted.double.html",
+ "string.quoted.single.html",
+ "string.unquoted.html",
+ "string.quoted.single.handlebars",
+ "string.quoted.double.handlebars"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "string.regexp",
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.template-expression.begin",
+ "punctuation.definition.template-expression.end",
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "meta.template.expression"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name",
+ "support.type.property-name",
+ "variable.css",
+ "variable.scss",
+ "variable.other.less",
+ "source.coffee.embedded"
+ ],
+ "settings": {
+ "foreground": "#FF0000"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.json"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.control",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.operator",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.new",
+ "keyword.operator.expression",
+ "keyword.operator.cast",
+ "keyword.operator.sizeof",
+ "keyword.operator.alignof",
+ "keyword.operator.typeid",
+ "keyword.operator.alignas",
+ "keyword.operator.instanceof",
+ "keyword.operator.logical.python",
+ "keyword.operator.wordlike"
+ ],
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "keyword.other.unit",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded.begin.php",
+ "punctuation.section.embedded.end.php"
+ ],
+ "settings": {
+ "foreground": "#800000"
+ }
+ },
+ {
+ "scope": "support.function.git-rebase",
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": "constant.sha.git-rebase",
+ "settings": {
+ "foreground": "#098658"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.import.java",
+ "variable.language.wildcard.java",
+ "storage.modifier.package.java"
+ ],
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "variable.language",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function",
+ "support.function",
+ "support.constant.handlebars",
+ "source.powershell variable.other.member",
+ "entity.name.operator.custom-literal"
+ ],
+ "settings": {
+ "foreground": "#795E26"
+ }
+ },
+ {
+ "scope": [
+ "support.class",
+ "support.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "entity.other.attribute",
+ "entity.name.scope-resolution",
+ "entity.name.class",
+ "storage.type.numeric.go",
+ "storage.type.byte.go",
+ "storage.type.boolean.go",
+ "storage.type.string.go",
+ "storage.type.uintptr.go",
+ "storage.type.error.go",
+ "storage.type.rune.go",
+ "storage.type.cs",
+ "storage.type.generic.cs",
+ "storage.type.modifier.cs",
+ "storage.type.variable.cs",
+ "storage.type.annotation.java",
+ "storage.type.generic.java",
+ "storage.type.java",
+ "storage.type.object.array.java",
+ "storage.type.primitive.array.java",
+ "storage.type.primitive.java",
+ "storage.type.token.java",
+ "storage.type.groovy",
+ "storage.type.annotation.groovy",
+ "storage.type.parameters.groovy",
+ "storage.type.generic.groovy",
+ "storage.type.object.array.groovy",
+ "storage.type.primitive.array.groovy",
+ "storage.type.primitive.groovy"
+ ],
+ "settings": {
+ "foreground": "#267F99"
+ }
+ },
+ {
+ "scope": [
+ "meta.type.cast.expr",
+ "meta.type.new.expr",
+ "support.constant.math",
+ "support.constant.dom",
+ "support.constant.json",
+ "entity.other.inherited-class"
+ ],
+ "settings": {
+ "foreground": "#267F99"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control",
+ "source.cpp keyword.operator.new",
+ "source.cpp keyword.operator.delete",
+ "keyword.other.using",
+ "keyword.other.operator",
+ "entity.name.operator"
+ ],
+ "settings": {
+ "foreground": "#AF00DB"
+ }
+ },
+ {
+ "scope": [
+ "variable",
+ "meta.definition.variable.name",
+ "support.variable",
+ "entity.name.variable",
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#001080"
+ }
+ },
+ {
+ "scope": [
+ "variable.other.constant",
+ "variable.other.enummember"
+ ],
+ "settings": {
+ "foreground": "#0070C1"
+ }
+ },
+ {
+ "scope": [
+ "meta.object-literal.key"
+ ],
+ "settings": {
+ "foreground": "#001080"
+ }
+ },
+ {
+ "scope": [
+ "support.constant.property-value",
+ "support.constant.font-name",
+ "support.constant.media-type",
+ "support.constant.media",
+ "constant.other.color.rgb-value",
+ "constant.other.rgb-value",
+ "support.constant.color"
+ ],
+ "settings": {
+ "foreground": "#0451A5"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.definition.group.regexp",
+ "punctuation.definition.group.assertion.regexp",
+ "punctuation.definition.character-class.regexp",
+ "punctuation.character.set.begin.regexp",
+ "punctuation.character.set.end.regexp",
+ "keyword.operator.negation.regexp",
+ "support.other.parenthesis.regexp"
+ ],
+ "settings": {
+ "foreground": "#D16969"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.character-class.regexp",
+ "constant.other.character-class.set.regexp",
+ "constant.other.character-class.regexp",
+ "constant.character.set.regexp"
+ ],
+ "settings": {
+ "foreground": "#811F3F"
+ }
+ },
+ {
+ "scope": "keyword.operator.quantifier.regexp",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": [
+ "keyword.operator.or.regexp",
+ "keyword.control.anchor.regexp"
+ ],
+ "settings": {
+ "foreground": "#EE0000"
+ }
+ },
+ {
+ "scope": "constant.character",
+ "settings": {
+ "foreground": "#0000FF"
+ }
+ },
+ {
+ "scope": "constant.character.escape",
+ "settings": {
+ "foreground": "#EE0000"
+ }
+ },
+ {
+ "scope": "entity.name.label",
+ "settings": {
+ "foreground": "#000000"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#316BCD"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#CD3131"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#800080"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light.json b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light.json
new file mode 100644
index 00000000..8fda01cc
--- /dev/null
+++ b/dotfiles/.vscode-oss/extensions/piousdeer.adwaita-theme-1.1.0-universal/themes/adwaita-light.json
@@ -0,0 +1,550 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Adwaita Light",
+ "type": "light",
+ "colors": {
+ "scrollbar.shadow": "#00000000",
+ "activityBar.background": "#ebebeb",
+ "titleBar.activeBackground": "#ebebeb",
+ "tab.activeBackground": "#ebebeb",
+ "tab.inactiveBackground": "#e1e1e1",
+ "editorGroupHeader.tabsBackground": "#e1e1e1",
+ "breadcrumb.background": "#e1e1e1",
+ "tab.hoverBackground": "#dcdcdc",
+ "panel.background": "#fafafa",
+ "sideBar.background": "#fafafa",
+ "statusBar.background": "#fafafa",
+ "statusBar.noFolderBackground": "#fafafa",
+ "statusBarItem.remoteBackground": "#fafafa",
+ "panelSectionHeader.background": "#00000000",
+ "sideBarSectionHeader.background": "#00000000",
+ "activityBar.border": "#cfcfcf",
+ "editorBracketMatch.border": "#cfcfcf",
+ "editorGroup.border": "#cfcfcf",
+ "editorGroupHeader.border": "#cfcfcf",
+ "editorGroupHeader.tabsBorder": "#cfcfcf",
+ "panel.border": "#cfcfcf",
+ "panelSectionHeader.border": "#cfcfcf",
+ "sideBar.border": "#cfcfcf",
+ "sideBarSectionHeader.border": "#cfcfcf",
+ "statusBar.border": "#cfcfcf",
+ "tab.border": "#cfcfcf",
+ "titleBar.border": "#cfcfcf",
+ "window.activeBorder": "#cfcfcf",
+ "tree.indentGuidesStroke": "#cfcfcf99",
+ "editorIndentGuide.activeBackground": "#cfcfcf99",
+ "editorIndentGuide.background": "#cfcfcf80",
+ "editorRuler.foreground": "#cfcfcf80",
+ "editorBracketMatch.background": "#cfcfcf80",
+ "list.hoverBackground": "#ececec",
+ "list.inactiveSelectionBackground": "#e6e6e6",
+ "input.background": "#e6e6e6",
+ "statusBar.foreground": "#323232",
+ "statusBar.noFolderForeground": "#323232",
+ "statusBar.debuggingForeground": "#323232",
+ "statusBarItem.remoteForeground": "#323232",
+ "sideBar.foreground": "#323232",
+ "panelTitle.activeBorder": "#323232",
+ "panelTitle.activeForeground": "#323232",
+ "activityBar.activeBorder": "#00000000",
+ "activityBarBadge.background": "#3584E4",
+ "button.background": "#3584E4",
+ "button.border": "#3584E4",
+ "list.activeSelectionBackground": "#1C71D8",
+ "list.highlightForeground": "#000000",
+ "list.activeSelectionForeground": "#ffffff",
+ "list.activeSelectionIconForeground": "#ffffff",
+ "list.focusHighlightForeground": "#ffffff",
+ "editorGutter.addedBackground": "#33D17A",
+ "editorGutter.deletedBackground": "#C01C28",
+ "editorGutter.modifiedBackground": "#62A0EA",
+ "gitDecoration.addedResourceForeground": "#26A269dd",
+ "gitDecoration.renamedResourceForeground": "#26A269dd",
+ "gitDecoration.untrackedResourceForeground": "#26A269dd",
+ "gitDecoration.modifiedResourceForeground": "#E66100dd",
+ "gitDecoration.stageModifiedResourceForeground": "#E66100dd",
+ "gitDecoration.deletedResourceForeground": "#F66151dd",
+ "gitDecoration.stageDeletedResourceForeground": "#F66151dd",
+ "gitDecoration.ignoredResourceForeground": "#77767B",
+ "commandCenter.background": "#d9d9d9",
+ "commandCenter.border": "#00000000",
+ "button.hoverBackground": "#4990e7",
+ "focusBorder": "#5f7999",
+ "activityBar.foreground": "#000000",
+ "editor.background": "#ffffff",
+ "editorLineNumber.foreground": "#32323280",
+ "widget.shadow": "#00000022"
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "",
+ "meta.embedded",
+ "variable",
+ "meta.tag.attributes punctuation.section.embedded",
+ "keyword.operator",
+ "storage.type.function.arrow",
+ "keyword.control.flow.block-scalar.literal",
+ "keyword.control.flow.block-scalar.folded",
+ "storage.modifier.chomping-indicator",
+ "storage.type.string",
+ "string.quoted.byte.raw",
+ "meta.macro.rules entity.name.function.macro.rust"
+ ],
+ "settings": {
+ "foreground": "#504E55",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.binary",
+ "constant.numeric.octal",
+ "constant.numeric.hex",
+ "keyword.other.unit.binary",
+ "keyword.other.unit.octal",
+ "keyword.other.unit.hexadecimal",
+ "keyword.other.unit.imaginary",
+ "keyword.other.unit.exponent"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language.boolean",
+ "constant.language.bool"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment",
+ "entity.other.document.begin.yaml",
+ "entity.other.document.end.yaml"
+ ],
+ "settings": {
+ "foreground": "#77767B",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.language",
+ "string.quoted.single.char",
+ "support.type.property-name",
+ "support.constant.property-value.css",
+ "source.css keyword.other.unit"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric",
+ "constant.numeric entity.name.type.numeric"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.block.documentation"
+ ],
+ "settings": {
+ "foreground": "#504E55",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric.float"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#1C71D8",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.heading.markdown"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword",
+ "keyword.operator.new",
+ "keyword.operator.logical.python",
+ "source.js keyword.operator.expression",
+ "source.ts keyword.operator.expression",
+ "storage.modifier",
+ "storage.type.class",
+ "storage.type.function",
+ "entity.name.tag.yaml",
+ "source.js storage.type",
+ "source.ts storage.type",
+ "source.tsx storage.type",
+ "source.rust storage.type"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.numeric"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor",
+ "meta.preprocessor keyword.control",
+ "punctuation.decorator",
+ "meta.decorator entity.name.function",
+ "entity.name.function.decorator",
+ "keyword.control.at-rule.media",
+ "constant.character.entity",
+ "punctuation.section.embedded",
+ "punctuation.definition.template-expression"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "comment.line.number-sign.shebang"
+ ],
+ "settings": {
+ "foreground": "#77767B",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "constant.character.escape"
+ ],
+ "settings": {
+ "foreground": "#ED333B",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "string"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.bold.markdown"
+ ],
+ "settings": {
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "storage.type",
+ "entity.name.type",
+ "entity.name.namespace",
+ "keyword.type.cs",
+ "support.type",
+ "support.class.builtin",
+ "support.class.promise"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.preprocessor.cs"
+ ],
+ "settings": {
+ "foreground": "#5E5C64",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.modifier"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "source.c storage.type"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.id.css"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.other.attribute-name.pseudo-element.css",
+ "entity.other.attribute-name.pseudo-class.css",
+ "meta.selector.css punctuation.section.function"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "meta.selector.css keyword.operator",
+ "entity.other.attribute-name.css"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "support.type.vendored.property-name.css"
+ ],
+ "settings": {
+ "foreground": "#D38B09",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.inserted.diff"
+ ],
+ "settings": {
+ "foreground": "#26A1A2",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.changed"
+ ],
+ "settings": {
+ "foreground": "#E66100",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.header"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.diff.range"
+ ],
+ "settings": {
+ "foreground": "#D38B09",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "markup.deleted.diff"
+ ],
+ "settings": {
+ "foreground": "#F66151",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder.go"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "support.function.builtin.python"
+ ],
+ "settings": {
+ "foreground": "#1C71D8",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.class.python"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "keyword.control.import.python"
+ ],
+ "settings": {
+ "foreground": "#E01B24",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.attribute.rust",
+ "meta.attribute.rust keyword.operator"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.type.lifetime.rust"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.function.macro"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag entity.other.attribute-name",
+ "meta.tag keyword.operator.assignment",
+ "punctuation.separator.key-value.html",
+ "punctuation.separator.key-value.svelte",
+ "text.xml meta.tag"
+ ],
+ "settings": {
+ "foreground": "#C64600",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "meta.tag string"
+ ],
+ "settings": {
+ "foreground": "#4E57BA",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "entity.name.tag",
+ "support.class.component.svelte",
+ "punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#218787",
+ "fontStyle": ""
+ }
+ },
+ {
+ "scope": [
+ "text.xml meta.tag.preprocessor entity.name.tag",
+ "text.xml meta.tag.preprocessor punctuation.definition.tag"
+ ],
+ "settings": {
+ "foreground": "#D38B09",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "markup.italic.markdown"
+ ],
+ "settings": {
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": [
+ "markup.strikethrough.markdown"
+ ],
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ }
+ ]
+}
\ No newline at end of file