mirror of
https://github.com/LunarVim/LunarVim.git
synced 2024-09-20 10:35:08 +02:00
The Lua Journey Begins...
This commit is contained in:
parent
d002b0419a
commit
0dc3c5030b
102 changed files with 292 additions and 7863 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
|||
plugin/
|
||||
dein
|
||||
tags*
|
||||
.netrwhist
|
||||
|
|
674
LICENSE
674
LICENSE
|
@ -1,674 +0,0 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
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.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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 <https://www.gnu.org/licenses/>.
|
||||
|
||||
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:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
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
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
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
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
202
README.md
202
README.md
|
@ -1,202 +0,0 @@
|
|||
# NVCode
|
||||
|
||||
![NVCode pic](./utils/images/nvim.png)
|
||||
|
||||
## Install in one command
|
||||
|
||||
The following will install this config if you have an existing config it will move it to `~/.config/nvim.old`
|
||||
|
||||
This script only supports Mac, Ubuntu and Arch
|
||||
|
||||
```bash
|
||||
bash <(curl -s https://raw.githubusercontent.com/ChristianChiarulli/nvim/master/utils/install.sh)
|
||||
```
|
||||
|
||||
## Install Neovim
|
||||
|
||||
To get the latest and greatest:
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
sudo rm -r neovim
|
||||
git clone https://github.com/neovim/neovim
|
||||
cd neovim
|
||||
sudo make CMAKE_BUILD_TYPE=Release install
|
||||
cd ~
|
||||
sudo rm -r neovim
|
||||
```
|
||||
|
||||
|
||||
## Clone this repo into your config
|
||||
|
||||
```bash
|
||||
git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
|
||||
```
|
||||
|
||||
## Install python & node support
|
||||
|
||||
```bash
|
||||
pip install pynvim
|
||||
```
|
||||
|
||||
```bash
|
||||
npm i -g neovim
|
||||
```
|
||||
|
||||
## Install Neovim remote
|
||||
|
||||
```bash
|
||||
pip install neovim-remote
|
||||
```
|
||||
|
||||
This will install `nvr` to `~/.local/bin` so you will need to add the following to your `bashrc` or `zshrc`
|
||||
|
||||
```
|
||||
export PATH=$HOME/.local/bin:$PATH
|
||||
```
|
||||
|
||||
## Install clipboard support
|
||||
|
||||
- On Mac pbcopy should be builtin
|
||||
|
||||
- Ubuntu
|
||||
|
||||
```bash
|
||||
sudo apt install xsel
|
||||
```
|
||||
|
||||
- Arch
|
||||
|
||||
```bash
|
||||
sudo pacman -S xsel
|
||||
```
|
||||
|
||||
## (Optional) Install python & node support using virtual environments
|
||||
|
||||
Make sure to add these paths somewhere in your config
|
||||
|
||||
```
|
||||
let g:python3_host_prog = expand("<path to python with pynvim installed>")
|
||||
let g:python3_host_prog = expand("~/.miniconda/envs/neovim/bin/python3.8") " <- example
|
||||
|
||||
let g:node_host_prog = expand("<path to node with neovim installed>")
|
||||
let g:node_host_prog = expand("~/.nvm/versions/node/v12.16.1/bin/neovim-node-host") " <- example
|
||||
```
|
||||
|
||||
## List of programs you should install
|
||||
|
||||
- ranger
|
||||
- ueberzug
|
||||
- ripgrep
|
||||
- silver_searcher
|
||||
- fd
|
||||
- universal-ctags
|
||||
- lazy git
|
||||
- lazy docker
|
||||
- ninja (for lua lsp)
|
||||
|
||||
Explanations and installation instruction can be found on my blog
|
||||
|
||||
## Language Servers
|
||||
|
||||
Some example language servers, if you just install them they will work with this config
|
||||
|
||||
```bash
|
||||
npm i -g pyright
|
||||
npm i -g bash-language-server
|
||||
npm install -g vscode-css-languageserver-bin
|
||||
npm install -g dockerfile-language-server-nodejs
|
||||
npm install -g graphql-language-service-cli
|
||||
npm install -g vscode-html-languageserver-bin
|
||||
npm install -g typescript typescript-language-server
|
||||
npm install -g vscode-json-languageserver
|
||||
npm install -g vim-language-server
|
||||
npm install -g yaml-language-server
|
||||
```
|
||||
|
||||
Go [here](https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md)
|
||||
|
||||
How to install the lua language server: [link](https://github.com/sumneko/lua-language-server/wiki/Build-and-Run-(Standalone))
|
||||
|
||||
## For FAR to work
|
||||
|
||||
```vim
|
||||
:UpdateRemotePlugins
|
||||
```
|
||||
|
||||
To replace in file make sure to specify `%:p`
|
||||
To replace across project specify `**/*.<your_extension>`
|
||||
|
||||
## Vim Gists
|
||||
|
||||
To use **vim-gists** you will need to configure the following:
|
||||
|
||||
```bash
|
||||
git config --global github.user <username>
|
||||
```
|
||||
|
||||
## VSCodium & Neo Vim Extension
|
||||
|
||||
[VSCodium](https://github.com/VSCodium/vscodium) contains build files to generate free release binaries of Microsoft's VS Code.
|
||||
|
||||
You can install it on multiple platforms:
|
||||
|
||||
- Mac
|
||||
|
||||
```bash
|
||||
brew cask install vscodium
|
||||
```
|
||||
|
||||
- Arch
|
||||
|
||||
```bash
|
||||
yay -s vscodium-bin
|
||||
```
|
||||
|
||||
- Snap
|
||||
|
||||
```bash
|
||||
snap install codium
|
||||
```
|
||||
|
||||
[The Neo Vim Extension](https://github.com/asvetliakov/vscode-neovim) is available in the VSCode marketplace
|
||||
|
||||
I recommend using this alongside the VSCode `which-key` extension
|
||||
|
||||
Along with some of my config files you can find in `utils/vscode_config`
|
||||
|
||||
## TODO
|
||||
|
||||
- Better Documentation
|
||||
https://github.com/gennaro-tedesco/nvim-jqx
|
||||
|
||||
https://github.com/mattn/efm-langserver
|
||||
|
||||
https://github.com/nvim-telescope/telescope-media-files.nvim
|
||||
|
||||
https://github.com/b3nj5m1n/kommentary
|
||||
|
||||
https://github.com/nvim-lua/completion-nvim
|
||||
|
||||
https://github.com/nvim-telescope/telescope-frecency.nvim
|
||||
|
||||
## 0.5
|
||||
|
||||
- native lsp (in progress)
|
||||
- treesitter (in progress)
|
||||
|
||||
## LOW PRIORITY TODO
|
||||
|
||||
If anyone reading this has any suggestions about implementing any of the following I will accept a PR, but these are not priority.
|
||||
|
||||
- multiple cursors
|
||||
- galaxyline automatically grab colors from colorscheme
|
||||
- tpope/vim-dadbod
|
||||
- neovide
|
||||
- People asked about vimwiki I kinda hate it but maybe I'll add it
|
||||
- vimspector this is included but I don't plan on using it much
|
||||
- can be used with jdb, pdb, gdb, etc...
|
||||
- nvim-dap and nvim-dap-virtual-text (ALL DEBUGGING IN NEOVIM IS CONFUSING AND HARD TO GET WORKING OR I'M JUST DUMB)
|
||||
- potentially manually link pylance
|
||||
- resize with arrows in addition to meta
|
||||
- how to support meta key on for macOS?
|
2797
autoload/plug.vim
2797
autoload/plug.vim
File diff suppressed because it is too large
Load diff
|
@ -1,15 +0,0 @@
|
|||
" Random Useful Functions
|
||||
|
||||
" Turn spellcheck on for markdown files
|
||||
augroup auto_spellcheck
|
||||
autocmd BufNewFile,BufRead *.md setlocal spell
|
||||
augroup END
|
||||
|
||||
nnoremap <f10> :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<'
|
||||
\ . synIDattr(synID(line("."),col("."),0),"name") . "> lo<"
|
||||
\ . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<cr>
|
||||
|
||||
augroup highlight_yank
|
||||
autocmd!
|
||||
au TextYankPost * silent! lua vim.highlight.on_yank { higroup='IncSearch', timeout=200 }
|
||||
augroup END
|
|
@ -1,68 +0,0 @@
|
|||
set iskeyword+=- " treat dash separated words as a word text object"
|
||||
set formatoptions-=cro " Stop newline continution of comments
|
||||
|
||||
syntax enable " Enables syntax highlighing
|
||||
set hidden " Required to keep multiple buffers open multiple buffers
|
||||
set nowrap " Display long lines as just one line
|
||||
set whichwrap+=<,>,[,],h,l
|
||||
set encoding=utf-8 " The encoding displayed
|
||||
set pumheight=10 " Makes popup menu smaller
|
||||
set fileencoding=utf-8 " The encoding written to file
|
||||
set ruler " Show the cursor position all the time
|
||||
set cmdheight=2 " More space for displaying messages
|
||||
set mouse=a " Enable your mouse
|
||||
set splitbelow " Horizontal splits will automatically be below
|
||||
set splitright " Vertical splits will automatically be to the right
|
||||
set t_Co=256 " Support 256 colors
|
||||
set conceallevel=0 " So that I can see `` in markdown files
|
||||
set tabstop=2 " Insert 2 spaces for a tab
|
||||
set shiftwidth=2 " Change the number of space characters inserted for indentation
|
||||
set smarttab " Makes tabbing smarter will realize you have 2 vs 4
|
||||
set expandtab " Converts tabs to spaces
|
||||
set smartindent " Makes indenting smart
|
||||
set autoindent " Good auto indent
|
||||
set laststatus=2 " Always display the status line
|
||||
set number " Line numbers
|
||||
set cursorline " Enable highlighting of the current line
|
||||
set background=dark " tell vim what the background color looks like
|
||||
set showtabline=2 " Always show tabs
|
||||
set noshowmode " We don't need to see things like -- INSERT -- anymore
|
||||
set nobackup " This is recommended by coc
|
||||
set nowritebackup " This is recommended by coc
|
||||
set shortmess+=c " Don't pass messages to |ins-completion-menu|.
|
||||
set signcolumn=yes " Always show the signcolumn, otherwise it would shift the text each time
|
||||
set updatetime=300 " Faster completion
|
||||
set timeoutlen=100 " By default timeoutlen is 1000 ms
|
||||
set clipboard=unnamedplus " Copy paste between vim and everything else
|
||||
set incsearch
|
||||
set guifont=JetBrainsMono\ Nerd\ Font\ Mono:h18
|
||||
|
||||
" New stuff
|
||||
" set notimeout nottimeout
|
||||
" set scrolloff=1
|
||||
" set sidescroll=1
|
||||
" set sidescrolloff=1
|
||||
" set display+=lastline
|
||||
" set backspace=eol,start,indent
|
||||
" set nostartofline
|
||||
" let $NVIM_TUI_ENABLE_TRUE_COLOR=1
|
||||
" set mmp=1300
|
||||
" set autochdir " Your working directory will always be the same as your working directory
|
||||
" set foldcolumn=2 " Folding abilities
|
||||
|
||||
" au! BufWritePost $MYVIMRC source % " auto source when writing to init.vm alternatively you can run :source $MYVIMRC
|
||||
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
|
||||
autocmd FileType markdown set wrap
|
||||
|
||||
" You can't stop me
|
||||
cmap w!! w !sudo tee %
|
||||
|
||||
"For Folding
|
||||
"Method for folding
|
||||
set foldmethod=indent
|
||||
"Open all when entering for the first time
|
||||
set foldlevel=20
|
||||
"Save the state for the next time
|
||||
" autocmd BufWinLeave *.* mkview
|
||||
" autocmd BufWinEnter *.* silent! loadview
|
|
@ -1,22 +0,0 @@
|
|||
hi Comment cterm=italic
|
||||
let g:nvcode_termcolors=256
|
||||
|
||||
syntax on
|
||||
" colorscheme nord
|
||||
colorscheme nvcode
|
||||
" colorscheme onedark
|
||||
" colorscheme TSnazzy
|
||||
" colorscheme aurora
|
||||
|
||||
|
||||
" checks if your terminal has 24-bit color support
|
||||
if (has("termguicolors"))
|
||||
set termguicolors
|
||||
hi LineNr ctermbg=NONE guibg=NONE
|
||||
endif
|
||||
|
||||
" Change this when you know where i3 will be
|
||||
aug i3config_ft_detection
|
||||
au!
|
||||
au BufNewFile,BufRead ~/.config/i3/config set filetype=i3config
|
||||
aug end
|
17
init.lua
Normal file
17
init.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
require('plugins')
|
||||
require('keymappings')
|
||||
require('settings')
|
||||
require('colorscheme')
|
||||
|
||||
-- Plugins
|
||||
require('nv-compe')
|
||||
require('nv-colorizer')
|
||||
require('nv-nvimtree')
|
||||
require('nv-treesitter')
|
||||
require('nv-galaxyline')
|
||||
require('nv-bufferline')
|
||||
require('nv-gitsigns')
|
||||
require('nv-nvim-autopairs')
|
||||
|
||||
-- LSP
|
||||
require('lsp.lua-ls')
|
88
init.vim
88
init.vim
|
@ -1,88 +0,0 @@
|
|||
" ____ _ __ _
|
||||
" / _/___ (_) /__ __(_)___ ___
|
||||
" / // __ \/ / __/ | / / / __ `__ \
|
||||
" _/ // / / / / /__| |/ / / / / / / /
|
||||
"/___/_/ /_/_/\__(_)___/_/_/ /_/ /_/
|
||||
|
||||
" General Settings
|
||||
if !exists('g:vscode')
|
||||
source ~/.config/nvim/plug-config/polyglot.vim
|
||||
endif
|
||||
source ~/.config/nvim/vim-plug/plugins.vim
|
||||
source ~/.config/nvim/general/settings.vim
|
||||
source ~/.config/nvim/general/functions.vim
|
||||
source ~/.config/nvim/general/theme.vim
|
||||
source ~/.config/nvim/keys/mappings.vim
|
||||
|
||||
if exists('g:vscode')
|
||||
" VS Code extension
|
||||
source ~/.config/nvim/vscode/settings.vim
|
||||
source ~/.config/nvim/plug-config/easymotion.vim
|
||||
source ~/.config/nvim/plug-config/highlightyank.vim
|
||||
else
|
||||
|
||||
" Plugin Configuration
|
||||
source ~/.config/nvim/keys/which-key.vim
|
||||
source ~/.config/nvim/plug-config/vim-commentary.vim
|
||||
source ~/.config/nvim/plug-config/rnvimr.vim
|
||||
source ~/.config/nvim/plug-config/codi.vim
|
||||
source ~/.config/nvim/plug-config/easymotion.vim
|
||||
source ~/.config/nvim/plug-config/goyo.vim
|
||||
source ~/.config/nvim/plug-config/vim-rooter.vim
|
||||
source ~/.config/nvim/plug-config/start-screen.vim
|
||||
source ~/.config/nvim/plug-config/gitgutter.vim
|
||||
source ~/.config/nvim/plug-config/git-messenger.vim
|
||||
source ~/.config/nvim/plug-config/closetags.vim
|
||||
source ~/.config/nvim/plug-config/floaterm.vim
|
||||
source ~/.config/nvim/plug-config/barbar.vim
|
||||
source ~/.config/nvim/plug-config/far.vim
|
||||
source ~/.config/nvim/plug-config/tagalong.vim
|
||||
source ~/.config/nvim/plug-config/bracey.vim
|
||||
source ~/.config/nvim/plug-config/markdown-preview.vim
|
||||
source ~/.config/nvim/plug-config/nvimtree-config.vim
|
||||
source ~/.config/nvim/plug-config/lsp-saga.vim
|
||||
source ~/.config/nvim/plug-config/lightbulb.vim
|
||||
source ~/.config/nvim/lua/lsp-wrapper.vim
|
||||
source ~/.config/nvim/plug-config/lsp-config.vim
|
||||
luafile ~/.config/nvim/lua/lsp/general-ls.lua
|
||||
luafile ~/.config/nvim/lua/plugins/galaxyline-config.lua
|
||||
luafile ~/.config/nvim/lua/plugins/nvimtree-config.lua
|
||||
luafile ~/.config/nvim/lua/plugins/treesitter-config.lua
|
||||
luafile ~/.config/nvim/lua/plugins/colorizer-config.lua
|
||||
luafile ~/.config/nvim/lua/plugins/telescope-config.lua
|
||||
luafile ~/.config/nvim/lua/lsp/lsp-kind.lua
|
||||
luafile ~/.config/nvim/lua/plugins/compe-config.lua
|
||||
luafile ~/.config/nvim/lua/plugins/lspsaga-config.lua
|
||||
" LSP: https://github.com/neovim/nvim-lspconfig/blob/master/CONFIG.md
|
||||
luafile ~/.config/nvim/lua/lsp/lsp-config.lua
|
||||
luafile ~/.config/nvim/lua/lsp/lua-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/python-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/bash-ls.lua
|
||||
autocmd FileType java luafile ~/.config/nvim/lua/lsp/java-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/css-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/docker-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/graphql-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/html-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/javascript-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/json-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/vim-ls.lua
|
||||
luafile ~/.config/nvim/lua/lsp/yaml-ls.lua
|
||||
endif
|
||||
source $HOME/.config/nvim/plug-config/quickscope.vim
|
||||
|
||||
" Add paths to node and python here
|
||||
if !empty(glob("~/.config/nvim/paths.vim"))
|
||||
source $HOME/.config/nvim/paths.vim
|
||||
endif
|
||||
|
||||
" TODO
|
||||
" snippets
|
||||
" autoimport jsx
|
||||
" https://github.com/mfussenegger/nvim-jdtls
|
||||
" fix space and tab triggering completion all the time
|
||||
" Provide diagnostics for nvim tree
|
||||
" port everything possible to lua
|
||||
" augroup lsp
|
||||
" au!
|
||||
" au FileType java lua require('jdtls').start_or_attach({cmd = {'java-linux-ls'}})
|
||||
" augroup end
|
|
@ -1,97 +0,0 @@
|
|||
" Basic Key Mappings
|
||||
|
||||
imap <C-h> <C-w>h
|
||||
imap <C-j> <C-w>j
|
||||
imap <C-k> <C-w>k
|
||||
imap <C-l> <C-w>l
|
||||
" g Leader key
|
||||
let mapleader=" "
|
||||
" let localleader=" "
|
||||
nnoremap <Space> <Nop>
|
||||
|
||||
" Better indenting
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
|
||||
if exists('g:vscode')
|
||||
|
||||
" Simulate same TAB behavior in VSCode
|
||||
nmap <Tab> :Tabnext<CR>
|
||||
nmap <S-Tab> :Tabprev<CR>
|
||||
|
||||
else
|
||||
|
||||
" Better nav for omnicomplete
|
||||
inoremap <expr> <c-j> ("\<C-n>")
|
||||
inoremap <expr> <c-k> ("\<C-p>")
|
||||
|
||||
" I hate escape more than anything else
|
||||
inoremap jk <Esc>
|
||||
inoremap kj <Esc>
|
||||
|
||||
" Easy CAPS
|
||||
" inoremap <c-u> <ESC>viwUi
|
||||
" nnoremap <c-u> viwU<Esc>
|
||||
|
||||
" TAB in general mode will move to text buffer
|
||||
nnoremap <silent> <TAB> :bnext<CR>
|
||||
" SHIFT-TAB will go back
|
||||
nnoremap <silent> <S-TAB> :bprevious<CR>
|
||||
|
||||
" Move selected line / block of text in visual mode
|
||||
" shift + k to move up
|
||||
" shift + j to move down
|
||||
xnoremap K :move '<-2<CR>gv-gv
|
||||
xnoremap J :move '>+1<CR>gv-gv
|
||||
|
||||
" Alternate way to save
|
||||
nnoremap <silent> <C-s> :w<CR>
|
||||
" Alternate way to quit
|
||||
nnoremap <silent> <C-Q> :wq!<CR>
|
||||
" Use control-c instead of escape
|
||||
nnoremap <silent> <C-c> <Esc>
|
||||
" <TAB>: completion.
|
||||
inoremap <silent> <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
|
||||
|
||||
" Better window navigation
|
||||
nnoremap <C-h> <C-w>h
|
||||
nnoremap <C-j> <C-w>j
|
||||
nnoremap <C-k> <C-w>k
|
||||
nnoremap <C-l> <C-w>l
|
||||
|
||||
" Terminal window navigation
|
||||
tnoremap <C-h> <C-\><C-N><C-w>h
|
||||
tnoremap <C-j> <C-\><C-N><C-w>j
|
||||
tnoremap <C-k> <C-\><C-N><C-w>k
|
||||
tnoremap <C-l> <C-\><C-N><C-w>l
|
||||
inoremap <C-h> <C-\><C-N><C-w>h
|
||||
inoremap <C-j> <C-\><C-N><C-w>j
|
||||
inoremap <C-k> <C-\><C-N><C-w>k
|
||||
inoremap <C-l> <C-\><C-N><C-w>l
|
||||
tnoremap <Esc> <C-\><C-n>
|
||||
|
||||
" Use alt + hjkl to resize windows
|
||||
" nnoremap <silent> <M-j> :resize -2<CR>
|
||||
" nnoremap <silent> <M-k> :resize +2<CR>
|
||||
" nnoremap <silent> <M-h> :vertical resize -2<CR>
|
||||
" nnoremap <silent> <M-l> :vertical resize +2<CR>
|
||||
|
||||
nnoremap <silent> <C-Up> :resize -2<CR>
|
||||
nnoremap <silent> <C-Down> :resize +2<CR>
|
||||
nnoremap <silent> <C-Left> :vertical resize -2<CR>
|
||||
nnoremap <silent> <C-Right> :vertical resize +2<CR>
|
||||
|
||||
let g:elite_mode=0 " Disable arrows"
|
||||
" Disable arrow movement, resize splits instead.
|
||||
if get(g:, 'elite_mode')
|
||||
nnoremap <C-Up> :resize -2<CR>
|
||||
nnoremap <C-Down> :resize +2<CR>
|
||||
nnoremap <C-Left> :vertical resize -2<CR>
|
||||
nnoremap <C-Right> :vertical resize +2<CR>
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
" Better nav for omnicomplete
|
||||
inoremap <expr> <c-j> ("\<C-n>")
|
||||
inoremap <expr> <c-k> ("\<C-p>")
|
|
@ -1,335 +0,0 @@
|
|||
" Leader Key Maps
|
||||
let @s = 'veS"'
|
||||
|
||||
" Timeout
|
||||
let g:which_key_timeout = 100
|
||||
|
||||
let g:which_key_display_names = {'<CR>': '↵', '<TAB>': '⇆'}
|
||||
|
||||
" Map leader to which_key
|
||||
nnoremap <silent> <leader> :silent <c-u> :silent WhichKey '<Space>'<CR>
|
||||
vnoremap <silent> <leader> :silent <c-u> :silent WhichKeyVisual '<Space>'<CR>
|
||||
|
||||
" Create map to add keys to
|
||||
let g:which_key_map = {}
|
||||
" Define a separator
|
||||
let g:which_key_sep = '→'
|
||||
" set timeoutlen=100
|
||||
|
||||
" Not a fan of floating windows for this
|
||||
let g:which_key_use_floating_win = 0
|
||||
let g:which_key_max_size = 0
|
||||
|
||||
" let g:which_key_position = 'botright'
|
||||
" let g:which_key_position = 'topleft'
|
||||
" let g:which_key_vertical = 1
|
||||
|
||||
" Change the colors if you want
|
||||
|
||||
" Hide status line
|
||||
autocmd! FileType which_key
|
||||
autocmd FileType which_key set laststatus=0 noshowmode noruler
|
||||
\| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler
|
||||
|
||||
|
||||
" Single mappings
|
||||
let g:which_key_map['/'] = [ ':call Comment()' , 'comment' ]
|
||||
let g:which_key_map['?'] = [ ':NvimTreeFindFile' , 'comment' ]
|
||||
let g:which_key_map['.'] = [ ':e $MYVIMRC' , 'open init' ]
|
||||
let g:which_key_map[';'] = [ ':Commands' , 'commands' ]
|
||||
let g:which_key_map['='] = [ '<C-W>=' , 'balance windows' ]
|
||||
let g:which_key_map['e'] = [ ':NvimTreeToggle' , 'explorer' ]
|
||||
let g:which_key_map['h'] = [ '<C-W>s' , 'split below']
|
||||
let g:which_key_map['n'] = [ ':let @/ = ""' , 'no highlight' ]
|
||||
let g:which_key_map['o'] = [ ':RnvimrToggle' , 'open' ]
|
||||
let g:which_key_map['p'] = [ ':Files' , 'search files' ]
|
||||
" TODO fix this
|
||||
" let g:which_key_map['q'] = [ ':q' , 'quit' ]
|
||||
let g:which_key_map['T'] = [ ':TSHighlightCapturesUnderCursor' , 'treesitter highlight' ]
|
||||
let g:which_key_map['u'] = [ ':UndotreeToggle' , 'undo tree']
|
||||
let g:which_key_map['v'] = [ '<C-W>v' , 'split right']
|
||||
let g:which_key_map['W'] = [ ':call WindowSwap#EasyWindowSwap()' , 'move window' ]
|
||||
let g:which_key_map['z'] = [ 'Goyo' , 'zen' ]
|
||||
|
||||
" Group mappings
|
||||
|
||||
" a is for actions
|
||||
let g:which_key_map.a = {
|
||||
\ 'name' : '+actions' ,
|
||||
\ 'c' : [':ColorizerToggle' , 'colorizer'],
|
||||
\ 'e' : [':CocCommand explorer' , 'explorer'],
|
||||
\ 'h' : [':let @/ = ""' , 'remove search highlight'],
|
||||
\ 'l' : [':Bracey' , 'start live server'],
|
||||
\ 'L' : [':BraceyStop' , 'stop live server'],
|
||||
\ 'm' : [':MarkdownPreview' , 'markdown preview'],
|
||||
\ 'M' : [':MarkdownPreviewStop' , 'markdown preview stop'],
|
||||
\ 'n' : [':set nonumber!' , 'line-numbers'],
|
||||
\ 's' : [':s/\%V\(.*\)\%V/"\1"/' , 'surround'],
|
||||
\ 'r' : [':set norelativenumber!' , 'relative line nums'],
|
||||
\ 't' : [':FloatermToggle' , 'terminal'],
|
||||
\ 'v' : [':Codi' , 'virtual repl on'],
|
||||
\ 'V' : [':Codi!' , 'virtual repl off'],
|
||||
\ 'w' : [':StripWhitespace' , 'strip whitespace'],
|
||||
\ }
|
||||
|
||||
" b is for buffer
|
||||
let g:which_key_map.b = {
|
||||
\ 'name' : '+buffer' ,
|
||||
\ '>' : [':BufferMoveNext' , 'move next'],
|
||||
\ '<' : [':BufferMovePrevious' , 'move prev'],
|
||||
\ '1' : [':BufferGoto 1' , 'buffer 1'],
|
||||
\ '2' : [':BufferGoto 2' , 'buffer 2'],
|
||||
\ '3' : [':BufferGoto 3' , 'buffer 3'],
|
||||
\ '4' : [':BufferGoto 4' , 'buffer 4'],
|
||||
\ '5' : [':BufferGoto 5' , 'buffer 5'],
|
||||
\ '6' : [':BufferGoto 6' , 'buffer 6'],
|
||||
\ '7' : [':BufferGoto 7' , 'buffer 7'],
|
||||
\ '8' : [':BufferGoto 8' , 'buffer 8'],
|
||||
\ '9' : [':BufferGoto 9' , 'buffer 9'],
|
||||
\ '0' : [':BufferGoto 0' , 'buffer 0'],
|
||||
\ 'b' : [':BufferPick' , 'pick buffer'],
|
||||
\ 'd' : [':Bdelete' , 'delete-buffer'],
|
||||
\ 'D' : [':BufferOrderByDirectory', 'order by directory'],
|
||||
\ 'f' : ['bfirst' , 'first-buffer'],
|
||||
\ 'l' : ['blast' , 'last buffer'],
|
||||
\ 'L' : [':BufferOrderByLanguage' , 'order by language'],
|
||||
\ 'n' : ['bnext' , 'next-buffer'],
|
||||
\ 'p' : ['bprevious' , 'previous-buffer'],
|
||||
\ '?' : ['Buffers' , 'fzf-buffer'],
|
||||
\ }
|
||||
|
||||
" d is for debug
|
||||
let g:which_key_map.d = {
|
||||
\ 'name' : '+debug' ,
|
||||
\ 'b' : ['<Plug>VimspectorToggleBreakpoint' , 'breakpoint'],
|
||||
\ 'B' : ['<Plug>VimspectorToggleConditionalBreakpoint' , 'conditional breakpoint'],
|
||||
\ 'c' : ['<Plug>VimspectorRunToCursor' , 'run to cursor'],
|
||||
\ 'd' : ['<Plug>VimspectorContinue' , 'continue'],
|
||||
\ 'f' : ['<Plug>VimspectorAddFunctionBreakpoint' , 'function breakpoint'],
|
||||
\ 'm' : [':MaximizerToggle' , 'maximize window'],
|
||||
\ 'o' : ['<Plug>VimspectorStepOver' , 'step over'],
|
||||
\ 'O' : ['<Plug>VimspectorStepOut' , 'step out'],
|
||||
\ 'i' : ['<Plug>VimspectorStepInto' , 'step into'],
|
||||
\ 'p' : ['<Plug>VimspectorPause' , 'pause'],
|
||||
\ 'r' : ['<Plug>VimspectorRestart' , 'restart'],
|
||||
\ 's' : ['<Plug>VimspectorStop' , 'stop'],
|
||||
\ }
|
||||
|
||||
" F is for fold
|
||||
let g:which_key_map.F = {
|
||||
\ 'name': '+fold',
|
||||
\ 'O' : [':set foldlevel=20', 'open all'],
|
||||
\ 'C' : [':set foldlevel=0', 'close all'],
|
||||
\ 'c' : [':foldclose', 'close'],
|
||||
\ 'o' : [':foldopen', 'open'],
|
||||
\ '1' : [':set foldlevel=1', 'level1'],
|
||||
\ '2' : [':set foldlevel=2', 'level2'],
|
||||
\ '3' : [':set foldlevel=3', 'level3'],
|
||||
\ '4' : [':set foldlevel=4', 'level4'],
|
||||
\ '5' : [':set foldlevel=5', 'level5'],
|
||||
\ '6' : [':set foldlevel=6', 'level6']
|
||||
\ }
|
||||
|
||||
" f is for find and replace
|
||||
" \ 'f' : [':Farr' , 'file'],
|
||||
let g:which_key_map.f = {
|
||||
\ 'name' : '+find & replace' ,
|
||||
\ 'f' : [':Farr --source=vimgrep' , 'file'],
|
||||
\ 'p' : [':Farr --source=rgnvim' , 'project'],
|
||||
\ }
|
||||
|
||||
" command! -buffer JdtCompile lua require('jdtls').compile()
|
||||
" command! -buffer JdtUpdateConfig lua require('jdtls').update_project_config()
|
||||
" command! -buffer JdtJol lua require('jdtls').jol()
|
||||
" command! -buffer JdtBytecode lua require('jdtls').javap()
|
||||
" command! -buffer JdtJshell lua require('jdtls').jshell()
|
||||
|
||||
" j is for java
|
||||
let g:which_key_map.j = {
|
||||
\ 'name' : '+java' ,
|
||||
\ 'c' : [':AsyncTask file-compile' , 'compile file'],
|
||||
\ 'b' : [':AsyncTask project-build' , 'build project'],
|
||||
\ 'e' : [':AsyncTaskEdit' , 'edit local tasks'],
|
||||
\ 'f' : [':AsyncTaskFzf' , 'find task'],
|
||||
\ 'g' : [':AsyncTaskEdit!' , 'edit global tasks'],
|
||||
\ 'h' : [':AsyncTaskList!' , 'list hidden tasks'],
|
||||
\ 'l' : [':CocList tasks' , 'list tasks'],
|
||||
\ 'm' : [':AsyncTaskMacro' , 'macro help'],
|
||||
\ 'o' : [':copen' , 'open task view'],
|
||||
\ 'r' : [':AsyncTask file-run' , 'run file'],
|
||||
\ 'p' : [':AsyncTask project-run' , 'run project'],
|
||||
\ 'x' : [':cclose' , 'close task view'],
|
||||
\ }
|
||||
|
||||
" k is for task
|
||||
let g:which_key_map.k = {
|
||||
\ 'name' : '+task' ,
|
||||
\ 'c' : [':AsyncTask file-compile' , 'compile file'],
|
||||
\ 'b' : [':AsyncTask project-build' , 'build project'],
|
||||
\ 'e' : [':AsyncTaskEdit' , 'edit local tasks'],
|
||||
\ 'f' : [':AsyncTaskFzf' , 'find task'],
|
||||
\ 'g' : [':AsyncTaskEdit!' , 'edit global tasks'],
|
||||
\ 'h' : [':AsyncTaskList!' , 'list hidden tasks'],
|
||||
\ 'm' : [':AsyncTaskMacro' , 'macro help'],
|
||||
\ 'o' : [':copen' , 'open task view'],
|
||||
\ 'r' : [':AsyncTask file-run' , 'run file'],
|
||||
\ 'p' : [':AsyncTask project-run' , 'run project'],
|
||||
\ 'x' : [':cclose' , 'close task view'],
|
||||
\ }
|
||||
" \ 'l' : [':AsyncTaskList' , 'list tasks'],
|
||||
|
||||
" m is for mark
|
||||
let g:which_key_map.m = {
|
||||
\ 'name' : '+mark' ,
|
||||
\ 'c' : [':CocCommand bookmark.clearForCurrentFile', 'clear file'],
|
||||
\ 'C' : [':CocCommand bookmark.clearForAllFiles', 'clear project'],
|
||||
\ 'j' : [':CocCommand bookmark.next', 'next bookmark'],
|
||||
\ 'k' : [':CocCommand bookmark.prev', 'prev bookmark'],
|
||||
\ 't' : [':CocCommand bookmark.toggle', 'toggle bookmark'],
|
||||
\ }
|
||||
" CoC throws an error
|
||||
" \ 'a' : [':CocCommand bookmark.annotate', 'annotate bookmark'],
|
||||
|
||||
|
||||
" s is for search powered by telescope
|
||||
let g:which_key_map.s = {
|
||||
\ 'name' : '+search' ,
|
||||
\ '.' : [':Telescope filetypes' , 'filetypes'],
|
||||
\ ';' : [':Telescope commands' , 'commands'],
|
||||
\ 'a' : [':Telescope lsp_code_actions' , 'code_actions'],
|
||||
\ 'A' : [':Telescope builtin' , 'all'],
|
||||
\ 'b' : [':Telescope buffers' , 'buffers'],
|
||||
\ 'B' : [':Telescope git_branches' , 'git branches'],
|
||||
\ 'd' : [':Telescope lsp_document_diagnostics' , 'document_diagnostics'],
|
||||
\ 'D' : [':Telescope lsp_workspace_diagnostics' , 'workspace_diagnostics'],
|
||||
\ 'c' : [':Telescope git_commits' , 'git_commits'],
|
||||
\ 'C' : [':Telescope git_bcommits' , 'git_bcommits'],
|
||||
\ 'f' : [':Telescope find_files' , 'files'],
|
||||
\ 'F' : [':Telescope git_files' , 'git_files'],
|
||||
\ 'g' : [':Telescope tags' , 'tags'],
|
||||
\ 'G' : [':Telescope current_buffer_tags' , 'buffer_tags'],
|
||||
\ 'h' : [':Telescope command_history' , 'history'],
|
||||
\ 'H' : [':Telescope help_tags' , 'help_tags'],
|
||||
\ 'i' : [':Telescope media_files' , 'media files'],
|
||||
\ 'k' : [':Telescope keymaps' , 'keymaps'],
|
||||
\ 'l' : [':Telescope loclist' , 'loclist'],
|
||||
\ 'm' : [':Telescope marks' , 'marks'],
|
||||
\ 'M' : [':Telescope man_pages' , 'man_pages'],
|
||||
\ 'o' : [':Telescope vim_options' , 'vim_options'],
|
||||
\ 'O' : [':Telescope oldfiles' , 'oldfiles'],
|
||||
\ 'p' : [':Telescope fd' , 'fd'],
|
||||
\ 'P' : [':Telescope spell_suggest' , 'spell_suggest'],
|
||||
\ 's' : [':Telescope git_status' , 'git_status'],
|
||||
\ 'S' : [':Telescope grep_string' , 'grep_string'],
|
||||
\ 't' : [':Telescope live_grep' , 'text'],
|
||||
\ 'y' : [':Telescope symbols' , 'symbols'],
|
||||
\ 'Y' : [':Telescope lsp_workspace_symbols' , 'lsp_workspace_symbols'],
|
||||
\ 'r' : [':Telescope registers' , 'registers'],
|
||||
\ 'R' : [':Telescope reloader' , 'reloader'],
|
||||
\ 'w' : [':Telescope file_browser' , 'buf_fuz_find'],
|
||||
\ 'u' : [':Telescope colorscheme' , 'colorschemes'],
|
||||
\ 'z' : [':Telescope current_buffer_fuzzy_find' , 'buf_fuz_find'],
|
||||
\ }
|
||||
|
||||
let g:which_key_map.S = {
|
||||
\ 'name' : '+Session' ,
|
||||
\ 'c' : [':SClose' , 'Close Session'] ,
|
||||
\ 'd' : [':SDelete' , 'Delete Session'] ,
|
||||
\ 'l' : [':SLoad' , 'Load Session'] ,
|
||||
\ 's' : [':Startify' , 'Start Page'] ,
|
||||
\ 'S' : [':SSave' , 'Save Session'] ,
|
||||
\ }
|
||||
|
||||
" g is for git
|
||||
let g:which_key_map.g = {
|
||||
\ 'name' : '+git' ,
|
||||
\ 'a' : [':Git add .' , 'add all'],
|
||||
\ 'A' : [':CocCommand fzf-preview.GitStatus' , 'actions'],
|
||||
\ 'b' : [':Git blame' , 'blame'],
|
||||
\ 'B' : [':GBrowse' , 'browse'],
|
||||
\ 'c' : [':Git commit' , 'commit'],
|
||||
\ 'd' : [':Git diff' , 'diff'],
|
||||
\ 'D' : [':Gdiffsplit' , 'diff split'],
|
||||
\ 'g' : [':GGrep' , 'git grep'],
|
||||
\ 'G' : [':Gstatus' , 'status'],
|
||||
\ 'h' : [':GitGutterLineHighlightsToggle' , 'highlight hunks'],
|
||||
\ 'H' : ['<Plug>(GitGutterPreviewHunk)' , 'preview hunk'],
|
||||
\ 'i' : [':Gist -b' , 'post gist'],
|
||||
\ 'j' : ['<Plug>(GitGutterNextHunk)' , 'next hunk'],
|
||||
\ 'k' : ['<Plug>(GitGutterPrevHunk)' , 'prev hunk'],
|
||||
\ 'l' : [':Git log' , 'log'],
|
||||
\ 'm' : ['<Plug>(git-messenger)' , 'message'],
|
||||
\ 'p' : [':Git push' , 'push'],
|
||||
\ 'P' : [':Git pull' , 'pull'],
|
||||
\ 'r' : [':GRemove' , 'remove'],
|
||||
\ 's' : ['<Plug>(GitGutterStageHunk)' , 'stage hunk'],
|
||||
\ 'S' : [':CocCommand fzf-preview.GitStatus' , 'status'],
|
||||
\ 't' : [':GitGutterSignsToggle' , 'toggle signs'],
|
||||
\ 'u' : ['<Plug>(GitGutterUndoHunk)' , 'undo hunk'],
|
||||
\ 'v' : [':GV' , 'view commits'],
|
||||
\ 'V' : [':GV!' , 'view buffer commits'],
|
||||
\ }
|
||||
" \ 'A' : [':Git add %' , 'add current'],
|
||||
" \ 'S' : [':!git status' , 'status'],
|
||||
|
||||
let g:which_key_map.G = {
|
||||
\ 'name' : '+gist' ,
|
||||
\ 'a' : [':Gist -a' , 'post gist anon'],
|
||||
\ 'b' : [':Gist -b' , 'post gist browser'],
|
||||
\ 'd' : [':Gist -d' , 'delete gist'],
|
||||
\ 'e' : [':Gist -e' , 'edit gist'],
|
||||
\ 'l' : [':Gist -l' , 'list public gists'],
|
||||
\ 's' : [':Gist -ls' , 'list starred gists'],
|
||||
\ 'm' : [':Gist -m' , 'post gist all buffers'],
|
||||
\ 'p' : [':Gist -P' , 'post public gist '],
|
||||
\ 'P' : [':Gist -p' , 'post private gist '],
|
||||
\ }
|
||||
|
||||
" l is for language server protocol
|
||||
let g:which_key_map.l = {
|
||||
\ 'name' : '+lsp' ,
|
||||
\ 'a' : [':Lspsaga code_action' , 'quickfix'],
|
||||
\ 'A' : [':Lspsaga range_code_action' , 'selected action'],
|
||||
\ 'd' : [':Telescope lsp_document_diagnostics' , 'document diagnostics'],
|
||||
\ 'D' : [':Telescope lsp_workspace_diagnostics', 'workspace diagnostics'],
|
||||
\ 'f' : [':LspFormatting' , 'format'],
|
||||
\ 'H' : [':Lspsaga signature_help' , 'signature_help'],
|
||||
\ 'I' : [':LspInfo' , 'lsp_info'],
|
||||
\ 'l' : [':Lspsaga lsp_finder' , 'lsp_finder'],
|
||||
\ 'L' : [':Lspsaga show_line_diagnostics' , 'line_diagnostics'],
|
||||
\ 'o' : [':Vista!!' , 'outline'],
|
||||
\ 'p' : [':Lspsaga preview_definition' , 'preview definition'],
|
||||
\ 'q' : [':Telescope quickfix' , 'quickfix'],
|
||||
\ 'r' : [':LspRename' , 'rename'],
|
||||
\ 'T' : [':LspTypeDefinition' , 'type defintion'],
|
||||
\ 'x' : [':cclose' , 'close quickfix'],
|
||||
\ 's' : [':Telescope lsp_document_symbols' , 'document symbols'],
|
||||
\ 'S' : [':Telescope lsp_workspace_symbols' , 'workspace symbols'],
|
||||
\ }
|
||||
" \ 'D' : [':LspDeclaration' , 'workspace_diagnostics'],
|
||||
" \ 'r' : [':Telescope lsp_references' , 'references'],
|
||||
" \ 'p' : [':Lspsaga diagnostic_jump_prev' , 'prev diagnostic'],
|
||||
" \ 'n' : [':Lspsaga diagnostic_jump_next' , 'next_diagnostic'],
|
||||
" \ 'q' : [':Lspsaga code_action' , 'quickfix'],
|
||||
" \ 'i' : [':LspImplementation' , 'lsp_info'],
|
||||
" \ 'h' : [':Lspsaga hover_doc' , 'hover_doc'],
|
||||
" \ 'K' : [':LspHover' , 'hover'],
|
||||
|
||||
" t is for terminal
|
||||
let g:which_key_map.t = {
|
||||
\ 'name' : '+terminal' ,
|
||||
\ ';' : [':FloatermNew --wintype=normal --height=6' , 'terminal'],
|
||||
\ 'f' : [':FloatermNew fzf' , 'fzf'],
|
||||
\ 'g' : [':FloatermNew lazygit' , 'git'],
|
||||
\ 'd' : [':FloatermNew lazydocker' , 'docker'],
|
||||
\ 'n' : [':FloatermNew node' , 'node'],
|
||||
\ 'N' : [':FloatermNew nnn' , 'nnn'],
|
||||
\ 'p' : [':FloatermNew python' , 'python'],
|
||||
\ 'm' : [':FloatermNew lazynpm' , 'npm'],
|
||||
\ 'r' : [':FloatermNew ranger' , 'ranger'],
|
||||
\ 't' : [':FloatermToggle' , 'toggle'],
|
||||
\ 'y' : [':FloatermNew ytop' , 'ytop'],
|
||||
\ 'u' : [':FloatermNew ncdu' , 'ncdu'],
|
||||
\ }
|
||||
|
||||
call which_key#register('<Space>', "g:which_key_map")
|
3
lua/colorscheme.lua
Normal file
3
lua/colorscheme.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
vim.cmd('colorscheme nvcode')
|
||||
vim.cmd('let g:nvcode_termcolors=256')
|
||||
--vim.api.nvim_exec([[colorscheme nvcode]])
|
36
lua/keymappings.lua
Normal file
36
lua/keymappings.lua
Normal file
|
@ -0,0 +1,36 @@
|
|||
vim.api.nvim_set_keymap('n', '<Space>', '<NOP>', { noremap = true, silent = true })
|
||||
vim.g.mapleader = ' '
|
||||
|
||||
-- no hl
|
||||
vim.api.nvim_set_keymap('n', '<Leader>h', ':set hlsearch!<CR>', { noremap = true, silent = true })
|
||||
|
||||
-- explorer
|
||||
vim.api.nvim_set_keymap('n', '<Leader>e', ':NvimTreeToggle<CR>', { noremap = true, silent = true })
|
||||
|
||||
|
||||
-- better window movement
|
||||
vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', { silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', { silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', { silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', { silent = true })
|
||||
|
||||
-- better indenting
|
||||
vim.api.nvim_set_keymap('v', '<', '<gv', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('v', '>', '>gv', { noremap = true, silent = true })
|
||||
|
||||
-- I hate escape
|
||||
vim.api.nvim_set_keymap('i', 'jk', '<ESC>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('i', 'kj', '<ESC>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('i', 'jj', '<ESC>', { noremap = true, silent = true })
|
||||
|
||||
-- Tab switch buffer
|
||||
vim.api.nvim_set_keymap('n', '<TAB>', ':bnext<CR>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<S-TAB>', ':bprevious<CR>', { noremap = true, silent = true })
|
||||
|
||||
-- Move selected line / block of text in visual mode
|
||||
vim.api.nvim_set_keymap('x', 'K', ':move \'<-2<CR>gv-gv\'', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('x', 'J', ':move \'>+1<CR>gv-gv\'', { noremap = true, silent = true })
|
||||
|
||||
-- TAB Complete
|
||||
--vim.api.nvim_set_keymap('i', '<expr><TAB>', 'pumvisible() ? \"\\<C-n>\" : \"\\<TAB>\"', { noremap = true, silent = true })
|
||||
|
|
@ -1,254 +0,0 @@
|
|||
local lsp_wrapper = {}
|
||||
|
||||
-- buf
|
||||
|
||||
function lsp_wrapper.add_to_workspace_folder()
|
||||
vim.lsp.buf.add_workspace_folder()
|
||||
end
|
||||
|
||||
function lsp_wrapper.clear_references()
|
||||
vim.lsp.buf.clear_references()
|
||||
end
|
||||
|
||||
function lsp_wrapper.code_action()
|
||||
vim.lsp.buf.code_action()
|
||||
end
|
||||
|
||||
function lsp_wrapper.declaration()
|
||||
vim.lsp.buf.declaration()
|
||||
vim.lsp.buf.clear_references()
|
||||
end
|
||||
|
||||
function lsp_wrapper.definition()
|
||||
vim.lsp.buf.definition()
|
||||
vim.lsp.buf.clear_references()
|
||||
end
|
||||
|
||||
function lsp_wrapper.document_highlight()
|
||||
vim.lsp.buf.document_highlight()
|
||||
end
|
||||
|
||||
function lsp_wrapper.document_symbol()
|
||||
vim.lsp.buf.document_symbol()
|
||||
end
|
||||
|
||||
function lsp_wrapper.formatting()
|
||||
vim.lsp.buf.formatting()
|
||||
end
|
||||
|
||||
function lsp_wrapper.formatting_sync()
|
||||
vim.lsp.buf.formatting_sync()
|
||||
end
|
||||
|
||||
function lsp_wrapper.hover()
|
||||
vim.lsp.buf.hover()
|
||||
end
|
||||
|
||||
function lsp_wrapper.implementation()
|
||||
vim.lsp.buf.implementation()
|
||||
end
|
||||
|
||||
function lsp_wrapper.incoming_calls()
|
||||
vim.lsp.buf.incoming_calls()
|
||||
end
|
||||
|
||||
function lsp_wrapper.list_workspace_folders()
|
||||
vim.lsp.buf.list_workspace_folders()
|
||||
end
|
||||
|
||||
function lsp_wrapper.outgoing_calls()
|
||||
vim.lsp.buf.outgoing_calls()
|
||||
end
|
||||
|
||||
function lsp_wrapper.range_code_action()
|
||||
vim.lsp.buf.range_code_action()
|
||||
end
|
||||
|
||||
function lsp_wrapper.range_formatting()
|
||||
vim.lsp.buf.range_formatting()
|
||||
end
|
||||
|
||||
function lsp_wrapper.references()
|
||||
vim.lsp.buf.references()
|
||||
vim.lsp.buf.clear_references()
|
||||
end
|
||||
|
||||
function lsp_wrapper.remove_workspace_folder()
|
||||
vim.lsp.buf.remove_workspace_folder()
|
||||
end
|
||||
|
||||
function lsp_wrapper.rename()
|
||||
vim.lsp.buf.rename()
|
||||
end
|
||||
|
||||
function lsp_wrapper.signature_help()
|
||||
vim.lsp.buf.signature_help()
|
||||
end
|
||||
|
||||
function lsp_wrapper.type_definition()
|
||||
vim.lsp.buf.type_definition()
|
||||
end
|
||||
|
||||
function lsp_wrapper.workspace_symbol()
|
||||
vim.lsp.buf.workspace_symbol()
|
||||
end
|
||||
|
||||
-- diagnostic
|
||||
|
||||
function lsp_wrapper.get_all()
|
||||
vim.lsp.diagnostic.get_all()
|
||||
end
|
||||
|
||||
function lsp_wrapper.get_next()
|
||||
vim.lsp.diagnostic.get_next()
|
||||
end
|
||||
|
||||
function lsp_wrapper.get_prev()
|
||||
vim.lsp.diagnostic.get_prev()
|
||||
end
|
||||
|
||||
function lsp_wrapper.goto_next()
|
||||
vim.lsp.diagnostic.goto_next()
|
||||
end
|
||||
|
||||
function lsp_wrapper.goto_prev()
|
||||
vim.lsp.diagnostic.goto_prev()
|
||||
end
|
||||
|
||||
function lsp_wrapper.show_line_diagnostics()
|
||||
vim.lsp.diagnostic.show_line_diagnostics()
|
||||
end
|
||||
|
||||
-- misc
|
||||
|
||||
-- :lua print(vim.inspect(vim.lsp.buf_get_clients()))
|
||||
|
||||
-- autoformat
|
||||
-- autocmd BufWritePre *.rs lua vim.lsp.buf.formatting_sync(nil, 1000)
|
||||
|
||||
return lsp_wrapper
|
||||
|
||||
-- You can see more about the differences in types here:
|
||||
-- https://microsoft.github.io/language-server-protocol/specification#textDocument_documentHighlight
|
||||
|
||||
-- *hl-LspReferenceText*
|
||||
-- LspReferenceText used for highlighting "text" references
|
||||
-- *hl-LspReferenceRead*
|
||||
-- LspReferenceRead used for highlighting "read" references
|
||||
-- *hl-LspReferenceWrite*
|
||||
-- LspReferenceWrite used for highlighting "write" references
|
||||
|
||||
-- *lsp-highlight-diagnostics*
|
||||
-- All highlights defined for diagnostics begin with `LspDiagnostics` followed by
|
||||
-- the type of highlight (e.g., `Sign`, `Underline`, etc.) and then the Severity
|
||||
-- of the highlight (e.g. `Error`, `Warning`, etc.)
|
||||
|
||||
-- Sign, underline and virtual text highlights (by default) are linked to their
|
||||
-- corresponding LspDiagnosticsDefault highlight.
|
||||
|
||||
-- For example, the default highlighting for |hl-LspDiagnosticsSignError| is
|
||||
-- linked to |hl-LspDiagnosticsDefaultError|. To change the default (and
|
||||
-- therefore the linked highlights), use the |:highlight| command: >
|
||||
|
||||
-- highlight LspDiagnosticsDefaultError guifg="BrightRed"
|
||||
-- <
|
||||
|
||||
-- *hl-LspDiagnosticsDefaultError*
|
||||
-- LspDiagnosticsDefaultError
|
||||
-- Used as the base highlight group.
|
||||
-- Other LspDiagnostic highlights link to this by default (except Underline)
|
||||
|
||||
-- *hl-LspDiagnosticsDefaultWarning*
|
||||
-- LspDiagnosticsDefaultWarning
|
||||
-- Used as the base highlight group.
|
||||
-- Other LspDiagnostic highlights link to this by default (except Underline)
|
||||
|
||||
-- *hl-LspDiagnosticsDefaultInformation*
|
||||
-- LspDiagnosticsDefaultInformation
|
||||
-- Used as the base highlight group.
|
||||
-- Other LspDiagnostic highlights link to this by default (except Underline)
|
||||
|
||||
-- *hl-LspDiagnosticsDefaultHint*
|
||||
-- LspDiagnosticsDefaultHint
|
||||
-- Used as the base highlight group.
|
||||
-- Other LspDiagnostic highlights link to this by default (except Underline)
|
||||
|
||||
-- *hl-LspDiagnosticsVirtualTextError*
|
||||
-- LspDiagnosticsVirtualTextError
|
||||
-- Used for "Error" diagnostic virtual text.
|
||||
-- See |vim.lsp.diagnostic.set_virtual_text()|
|
||||
|
||||
-- *hl-LspDiagnosticsVirtualTextWarning*
|
||||
-- LspDiagnosticsVirtualTextWarning
|
||||
-- Used for "Warning" diagnostic virtual text.
|
||||
-- See |vim.lsp.diagnostic.set_virtual_text()|
|
||||
|
||||
-- *hl-LspDiagnosticsVirtualTextInformation*
|
||||
-- LspDiagnosticsVirtualTextInformation
|
||||
-- Used for "Information" diagnostic virtual text.
|
||||
-- See |vim.lsp.diagnostic.set_virtual_text()|
|
||||
|
||||
-- *hl-LspDiagnosticsVirtualTextHint*
|
||||
-- LspDiagnosticsVirtualTextHint
|
||||
-- Used for "Hint" diagnostic virtual text.
|
||||
-- See |vim.lsp.diagnostic.set_virtual_text()|
|
||||
|
||||
-- *hl-LspDiagnosticsUnderlineError*
|
||||
-- LspDiagnosticsUnderlineError
|
||||
-- Used to underline "Error" diagnostics.
|
||||
-- See |vim.lsp.diagnostic.set_underline()|
|
||||
|
||||
-- *hl-LspDiagnosticsUnderlineWarning*
|
||||
-- LspDiagnosticsUnderlineWarning
|
||||
-- Used to underline "Warning" diagnostics.
|
||||
-- See |vim.lsp.diagnostic.set_underline()|
|
||||
|
||||
-- *hl-LspDiagnosticsUnderlineInformation*
|
||||
-- LspDiagnosticsUnderlineInformation
|
||||
-- Used to underline "Information" diagnostics.
|
||||
-- See |vim.lsp.diagnostic.set_underline()|
|
||||
|
||||
-- *hl-LspDiagnosticsUnderlineHint*
|
||||
-- LspDiagnosticsUnderlineHint
|
||||
-- Used to underline "Hint" diagnostics.
|
||||
-- See |vim.lsp.diagnostic.set_underline()|
|
||||
|
||||
-- *hl-LspDiagnosticsFloatingError*
|
||||
-- LspDiagnosticsFloatingError
|
||||
-- Used to color "Error" diagnostic messages in diagnostics float.
|
||||
-- See |vim.lsp.diagnostic.show_line_diagnostics()|
|
||||
|
||||
-- *hl-LspDiagnosticsFloatingWarning*
|
||||
-- LspDiagnosticsFloatingWarning
|
||||
-- Used to color "Warning" diagnostic messages in diagnostics float.
|
||||
-- See |vim.lsp.diagnostic.show_line_diagnostics()|
|
||||
|
||||
-- *hl-LspDiagnosticsFloatingInformation*
|
||||
-- LspDiagnosticsFloatingInformation
|
||||
-- Used to color "Information" diagnostic messages in diagnostics float.
|
||||
-- See |vim.lsp.diagnostic.show_line_diagnostics()|
|
||||
|
||||
-- *hl-LspDiagnosticsFloatingHint*
|
||||
-- LspDiagnosticsFloatingHint
|
||||
-- Used to color "Hint" diagnostic messages in diagnostics float.
|
||||
-- See |vim.lsp.diagnostic.show_line_diagnostics()|
|
||||
|
||||
-- *hl-LspDiagnosticsSignError*
|
||||
-- LspDiagnosticsSignError
|
||||
-- Used for "Error" signs in sign column.
|
||||
-- See |vim.lsp.diagnostic.set_signs()|
|
||||
|
||||
-- *hl-LspDiagnosticsSignWarning*
|
||||
-- LspDiagnosticsSignWarning
|
||||
-- Used for "Warning" signs in sign column.
|
||||
-- See |vim.lsp.diagnostic.set_signs()|
|
||||
|
||||
-- *hl-LspDiagnosticsSignInformation*
|
||||
-- LspDiagnosticsSignInformation
|
||||
-- Used for "Information" signs in sign column.
|
||||
-- See |vim.lsp.diagnostic.set_signs()|
|
||||
|
||||
-- *hl-LspDiagnosticsSignHint*
|
||||
-- LspDiagnosticsSignHint
|
||||
-- Used for "Hint" signs in sign column.
|
||||
-- See |vim.lsp.diagnostic.set_signs()|
|
|
@ -1,37 +0,0 @@
|
|||
command! LspCodeAction lua require 'lsp-wrapper'.code_action()
|
||||
command! LspDeclaration lua require 'lsp-wrapper'.declaration()
|
||||
command! LspDefinition lua require 'lsp-wrapper'.definition()
|
||||
command! LspDocumentSymbol lua require 'lsp-wrapper'.document_symbol()
|
||||
command! LspFormatting lua require 'lsp-wrapper'.formatting()
|
||||
command! LspFormattingSync lua require 'lsp-wrapper'.formatting_sync()
|
||||
command! LspHover lua require 'lsp-wrapper'.hover()
|
||||
command! LspImplementation lua require 'lsp-wrapper'.implementation()
|
||||
command! LspRangeCodeAction lua require 'lsp-wrapper'.range_code_action()
|
||||
command! LspRangeFormatting lua require 'lsp-wrapper'.range_formatting()
|
||||
command! LspReferences lua require 'lsp-wrapper'.references()
|
||||
command! LspRename lua require 'lsp-wrapper'.rename()
|
||||
command! LspTypeDefinition lua require 'lsp-wrapper'.type_definition()
|
||||
command! LspWorkspaceSymbol lua require 'lsp-wrapper'.workspace_symbol()
|
||||
command! LspGotoNext lua require 'lsp-wrapper'.goto_next()
|
||||
command! LspGotoPrev lua require 'lsp-wrapper'.goto_prev()
|
||||
command! LspShowLineDiagnostics lua require 'lsp-wrapper'.show_line_diagnostics()
|
||||
" command! LspAddToWorkspaceFolder lua require 'lsp-wrapper'.add_to_workspace_folder()
|
||||
" command! LspRemoveWorkspaceFolder lua require 'lsp-wrapper'.remove_workspace_folder()
|
||||
" command! LspListWorkspaceFolders lua require 'lsp-wrapper'.list_workspace_folders()
|
||||
" command! LspClearReferences lua require 'lsp-wrapper'.clear_references()
|
||||
" command! LspGetNext lua require 'lsp-wrapper'.get_next()
|
||||
" command! LspGetPrev lua require 'lsp-wrapper'.get_prev()
|
||||
" command! LspGetAll lua require 'lsp-wrapper'.get_all()
|
||||
" command! LspIncomingCalls lua require 'lsp-wrapper'.incoming_calls()
|
||||
" command! LspOutGoingCalls lua require 'lsp-wrapper'.outgoing_calls()
|
||||
" command! LspDocumentHighlight lua require 'lsp-wrapper'.document_highlight()
|
||||
|
||||
" Java
|
||||
|
||||
" command! FileType java LspCodeAction <Esc><Cmd>lua require('jdtls').code_action(true)<CR>
|
||||
" command! FileType java LspCodeAction <Esc><Cmd>lua require('jdtls').code_action(false, 'refactor')<CR>
|
||||
|
||||
" nnoremap <A-o> <Cmd>lua require'jdtls'.organize_imports()<CR>
|
||||
" nnoremap crv <Cmd>lua require('jdtls').extract_variable()<CR>
|
||||
" vnoremap crv <Esc><Cmd>lua require('jdtls').extract_variable(true)<CR>
|
||||
" vnoremap crm <Esc><Cmd>lua require('jdtls').extract_method(true)<CR>
|
|
@ -1,3 +0,0 @@
|
|||
-- npm i -g bash-language-server
|
||||
require'lspconfig'.bashls.setup{}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
-- npm install -g vscode-css-languageserver-bin
|
||||
require'lspconfig'.cssls.setup{}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
-- npm install -g dockerfile-language-server-nodejs
|
||||
require'lspconfig'.dockerls.setup{}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
require"lspconfig".efm.setup {
|
||||
init_options = {documentFormatting = true},
|
||||
filetypes = {"lua"},
|
||||
settings = {
|
||||
rootMarkers = {".git/"},
|
||||
languages = {
|
||||
lua = {
|
||||
{
|
||||
formatCommand = "lua-format -i --no-keep-simple-function-one-line --no-break-after-operator --column-limit=150 --break-after-table-lb",
|
||||
formatStdin = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
-- npm install -g graphql-language-service-cli
|
||||
require'lspconfig'.graphql.setup{}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
-- npm install -g vscode-html-languageserver-bin
|
||||
--Enable (broadcasting) snippet capability for completion
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
||||
|
||||
require'lspconfig'.html.setup {
|
||||
capabilities = capabilities,
|
||||
}
|
||||
|
||||
|
||||
require'lspconfig'.html.setup{}
|
0
lua/lsp/init.lua
Normal file
0
lua/lsp/init.lua
Normal file
|
@ -1,8 +0,0 @@
|
|||
-- In Vimscript
|
||||
-- augroup lsp
|
||||
-- au!
|
||||
-- au FileType java lua require('jdtls').start_or_attach({cmd = {'java-linux-ls'}})
|
||||
-- augroup end
|
||||
-- find_root looks for parent directories relative to the current buffer containing one of the given arguments.
|
||||
-- require'lspconfig'.jdtls.setup {cmd = {'java-linux-ls'}}
|
||||
require('jdtls').start_or_attach({cmd = {'java-linux-ls'}, root_dir = require('jdtls.setup').find_root({'gradle.build', 'pom.xml'})})
|
|
@ -1,3 +0,0 @@
|
|||
-- npm install -g typescript typescript-language-server
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
-- npm install -g vscode-json-languageserver
|
||||
require'lspconfig'.jsonls.setup {
|
||||
commands = {
|
||||
Format = {
|
||||
function()
|
||||
vim.lsp.buf.range_formatting({},{0,0},{vim.fn.line("$"),0})
|
||||
end
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
-- local nvim_lsp = require('lspconfig')
|
||||
-- local on_attach = function(client, bufnr)
|
||||
-- local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
||||
-- local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||
|
||||
-- buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
-- -- Mappings.
|
||||
-- local opts = { noremap=true, silent=true }
|
||||
-- buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||
-- -- buf_set_keymap('n', 'gd', ':lua vim.lsp.buf.definition()')
|
||||
-- buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
-- buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
-- -- buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||
-- buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||
-- buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||
-- buf_set_keymap('n', '<space>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>', opts)
|
||||
|
||||
-- -- *vim.lsp.buf.code_action()
|
||||
|
||||
-- -- Set some keybinds conditional on server capabilities
|
||||
-- if client.resolved_capabilities.document_formatting then
|
||||
-- buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
-- elseif client.resolved_capabilities.document_range_formatting then
|
||||
-- buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.range_formatting()<CR>", opts)
|
||||
-- end
|
||||
-- -- Set autocommands conditional on server_capabilities
|
||||
-- -- if client.resolved_capabilities.document_highlight then
|
||||
-- -- vim.api.nvim_exec([[
|
||||
-- -- hi LspReferenceRead cterm=bold ctermbg=red guibg=Pink
|
||||
-- -- hi LspReferenceText cterm=bold ctermbg=red guibg=Pink
|
||||
-- -- hi LspReferenceWrite cterm=bold ctermbg=red guibg=Pink
|
||||
-- -- augroup lsp_document_highlight
|
||||
-- -- autocmd! * <buffer>
|
||||
-- -- autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
|
||||
-- -- autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
|
||||
-- -- augroup END
|
||||
-- -- ]], false)
|
||||
-- -- end
|
||||
-- end
|
||||
|
||||
-- -- Use a loop to conveniently both setup defined servers
|
||||
-- -- and map buffer local keybindings when the language server attaches
|
||||
-- local servers = { "pyright", "rust_analyzer", "tsserver" }
|
||||
-- for _, lsp in ipairs(servers) do
|
||||
-- nvim_lsp[lsp].setup { on_attach = on_attach }
|
||||
-- end
|
||||
|
||||
|
||||
vim.fn.sign_define("LspDiagnosticsSignError", {text = "", numhl = "LspDiagnosticsDefaultError"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignWarning", {text = "", numhl = "LspDiagnosticsDefaultWarning"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignInformation", {text = "", numhl = "LspDiagnosticsDefaultInformation"})
|
||||
vim.fn.sign_define("LspDiagnosticsSignHint", {text = "", numhl = "LspDiagnosticsDefaultHint"})
|
|
@ -1,27 +0,0 @@
|
|||
-- commented options are defaults
|
||||
require('lspkind').init({
|
||||
with_text = false,
|
||||
symbol_map = {
|
||||
Text = ' ',
|
||||
Method = ' ',
|
||||
Function = ' ',
|
||||
Constructor = ' ',
|
||||
Variable = '[]',
|
||||
Class = ' ',
|
||||
Interface = ' 蘒',
|
||||
Module = ' ',
|
||||
Property = ' ',
|
||||
Unit = ' 塞 ',
|
||||
Value = ' ',
|
||||
Enum = ' 練',
|
||||
Keyword = ' ',
|
||||
Snippet = ' ',
|
||||
Color = '',
|
||||
File = '',
|
||||
Folder = ' ﱮ ',
|
||||
EnumMember = ' ',
|
||||
Constant = ' ',
|
||||
Struct = ' '
|
||||
},
|
||||
})
|
||||
|
|
@ -5,11 +5,11 @@ local sumneko_root_path = ""
|
|||
local sumneko_binary = ""
|
||||
|
||||
if vim.fn.has("mac") == 1 then
|
||||
sumneko_root_path = "/Users/" .. USER .. "/.config/nvim/lua-language-server"
|
||||
sumneko_binary = "/Users/" .. USER .. "/.config/nvim/lua-language-server/bin/macOS/lua-language-server"
|
||||
sumneko_root_path = "/Users/" .. USER .. "/.config/nvim/ls/lua-language-server"
|
||||
sumneko_binary = "/Users/" .. USER .. "/.config/nvim/ls/lua-language-server/bin/macOS/lua-language-server"
|
||||
elseif vim.fn.has("unix") == 1 then
|
||||
sumneko_root_path = "/home/" .. USER .. "/.config/nvim/lua-language-server"
|
||||
sumneko_binary = "/home/" .. USER .. "/.config/nvim/lua-language-server/bin/Linux/lua-language-server"
|
||||
sumneko_root_path = "/home/" .. USER .. "/.config/nvim/ls/lua-language-server"
|
||||
sumneko_binary = "/home/" .. USER .. "/.config/nvim/ls/lua-language-server/bin/Linux/lua-language-server"
|
||||
else
|
||||
print("Unsupported system for sumneko")
|
||||
end
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
-- npm i -g pyright
|
||||
require'lspconfig'.pyright.setup{}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
-- npm install -g vim-language-server
|
||||
require'lspconfig'.vimls.setup{}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
-- npm install -g yaml-language-server
|
||||
require'lspconfig'.yamlls.setup{}
|
||||
|
13
lua/nv-bufferline/init.lua
Normal file
13
lua/nv-bufferline/init.lua
Normal file
|
@ -0,0 +1,13 @@
|
|||
require'bufferline'.setup{}
|
||||
vim.api.nvim_set_keymap('n', '<TAB>', ':BufferLineCycleNext<CR>', { noremap = true, silent = true })
|
||||
vim.api.nvim_set_keymap('n', '<S-TAB>', ':BufferLineCyclePrev<CR>', { noremap = true, silent = true })
|
||||
|
||||
|
||||
--" These commands will move the current buffer backwards or forwards in the bufferline
|
||||
--nnoremap <silent><mymap> :BufferLineMoveNext<CR>
|
||||
--nnoremap <silent><mymap> :BufferLineMovePrev<CR>
|
||||
|
||||
--" These commands will sort buffers by directory, language, or a custom criteria
|
||||
--nnoremap <silent>be :BufferLineSortByExtension<CR>
|
||||
--nnoremap <silent>bd :BufferLineSortByDirectory<CR>
|
||||
--nnoremap <silent><mymap> :lua require'bufferline'.sort_buffers_by(function (buf_a, buf_b) return buf_a.id < buf_b.id end)<CR>
|
|
@ -1,6 +1,6 @@
|
|||
require'colorizer'.setup(
|
||||
{'*';},
|
||||
{
|
||||
{
|
||||
RGB = true; -- #RGB hex codes
|
||||
RRGGBB = true; -- #RRGGBB hex codes
|
||||
-- names = true; -- "Name" codes like Blue
|
||||
|
@ -10,6 +10,3 @@ require'colorizer'.setup(
|
|||
css = true; -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true; -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
})
|
||||
|
||||
|
||||
|
|
@ -1,9 +1,3 @@
|
|||
-- TODO we need snippet support and to maybe get better docs idk
|
||||
|
||||
|
||||
vim.cmd [[set shortmess+=c]]
|
||||
vim.o.completeopt = "menuone,noselect"
|
||||
|
||||
require'compe'.setup {
|
||||
enabled = true;
|
||||
autocomplete = true;
|
||||
|
@ -13,10 +7,9 @@ require'compe'.setup {
|
|||
throttle_time = 80;
|
||||
source_timeout = 200;
|
||||
incomplete_delay = 400;
|
||||
allow_prefix_unmatch = false;
|
||||
max_abbr_width = 1000;
|
||||
max_kind_width = 1000;
|
||||
max_menu_width = 1000000;
|
||||
max_abbr_width = 100;
|
||||
max_kind_width = 100;
|
||||
max_menu_width = 100;
|
||||
documentation = true;
|
||||
|
||||
source = {
|
||||
|
@ -33,9 +26,37 @@ require'compe'.setup {
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
local t = function(str)
|
||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
||||
end
|
||||
|
||||
local check_back_space = function()
|
||||
local col = vim.fn.col('.') - 1
|
||||
if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Use (s-)tab to:
|
||||
--- move to prev/next item in completion menuone
|
||||
--- jump to prev/next snippet's placeholder
|
||||
_G.tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-n>"
|
||||
elseif vim.fn.call("vsnip#available", {1}) == 1 then
|
||||
return t "<Plug>(vsnip-expand-or-jump)"
|
||||
elseif check_back_space() then
|
||||
return t "<Tab>"
|
||||
else
|
||||
return vim.fn['compe#complete']()
|
||||
end
|
||||
end
|
||||
_G.s_tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-p>"
|
||||
|
@ -46,6 +67,7 @@ _G.s_tab_complete = function()
|
|||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
||||
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true})
|
|
@ -247,25 +247,3 @@ gls.short_line_left[1] = {
|
|||
highlight = {colors.purple,colors.bg}
|
||||
}
|
||||
}
|
||||
|
||||
-- gls.short_line_right[1] = {
|
||||
-- BufferIcon = {
|
||||
-- provider= 'BufferIcon',
|
||||
-- separator = ' ',
|
||||
-- separator_highlight = {colors.purple,colors.bg},
|
||||
-- highlight = {colors.grey,colors.purple}
|
||||
-- }
|
||||
-- }
|
||||
-- function! s:my_bookmark_color() abort
|
||||
-- let s:scl_guibg = matchstr(execute('hi SignColumn'), 'guibg=\zs\S*')
|
||||
-- if empty(s:scl_guibg)
|
||||
-- let s:scl_guibg = 'NONE'
|
||||
-- endif
|
||||
-- exe 'hi MyBookmarkSign guifg=' . s:scl_guibg
|
||||
-- endfunction
|
||||
-- call s:my_bookmark_color() " don't remove this line!
|
||||
|
||||
-- augroup UserGitSignColumnColor
|
||||
-- autocmd!
|
||||
-- autocmd ColorScheme * call s:my_bookmark_color()
|
||||
-- augroup END
|
37
lua/nv-gitsigns/init.lua
Normal file
37
lua/nv-gitsigns/init.lua
Normal file
|
@ -0,0 +1,37 @@
|
|||
require('gitsigns').setup {
|
||||
signs = {
|
||||
-- TODO add hl to colorscheme
|
||||
add = {hl = 'GitSignsAdd' , text = '▎', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'},
|
||||
change = {hl = 'GitSignsChange', text = '▎', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
delete = {hl = 'GitSignsDelete', text = '契', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
topdelete = {hl = 'GitSignsDelete', text = '契', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
changedelete = {hl = 'GitSignsChange', text = '▎', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
},
|
||||
numhl = false,
|
||||
linehl = false,
|
||||
keymaps = {
|
||||
-- Default keymap options
|
||||
noremap = true,
|
||||
buffer = true,
|
||||
|
||||
['n ]c'] = { expr = true, "&diff ? ']c' : '<cmd>lua require\"gitsigns\".next_hunk()<CR>'"},
|
||||
['n [c'] = { expr = true, "&diff ? '[c' : '<cmd>lua require\"gitsigns\".prev_hunk()<CR>'"},
|
||||
|
||||
['n <leader>hs'] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
|
||||
['n <leader>hu'] = '<cmd>lua require"gitsigns".undo_stage_hunk()<CR>',
|
||||
['n <leader>hr'] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
|
||||
['n <leader>hp'] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
|
||||
['n <leader>hb'] = '<cmd>lua require"gitsigns".blame_line()<CR>',
|
||||
|
||||
-- Text objects
|
||||
['o ih'] = ':<C-U>lua require"gitsigns".text_object()<CR>',
|
||||
['x ih'] = ':<C-U>lua require"gitsigns".text_object()<CR>'
|
||||
},
|
||||
watch_index = {
|
||||
interval = 1000
|
||||
},
|
||||
sign_priority = 6,
|
||||
update_debounce = 200,
|
||||
status_formatter = nil, -- Use default
|
||||
use_decoration_api = false
|
||||
}
|
40
lua/nv-nvim-autopairs/init.lua
Normal file
40
lua/nv-nvim-autopairs/init.lua
Normal file
|
@ -0,0 +1,40 @@
|
|||
require('nvim-autopairs').setup()
|
||||
|
||||
local pairs_map = {
|
||||
["'"] = "'",
|
||||
['"'] = '"',
|
||||
['('] = ')',
|
||||
['['] = ']',
|
||||
['{'] = '}',
|
||||
['`'] = '`',
|
||||
}
|
||||
local disable_filetype = { "TelescopePrompt" }
|
||||
local break_line_filetype = nil -- mean all file type
|
||||
local html_break_line_filetype = {'html' , 'vue' , 'typescriptreact' , 'svelte' , 'javascriptreact'}
|
||||
local ignored_next_char = "%w"
|
||||
|
||||
local remap = vim.api.nvim_set_keymap
|
||||
local npairs = require('nvim-autopairs')
|
||||
|
||||
-- skip it, if you use another global object
|
||||
_G.MUtils= {}
|
||||
|
||||
vim.g.completion_confirm_key = ""
|
||||
MUtils.completion_confirm=function()
|
||||
if vim.fn.pumvisible() ~= 0 then
|
||||
if vim.fn.complete_info()["selected"] ~= -1 then
|
||||
vim.fn["compe#confirm"]()
|
||||
return npairs.esc("<c-y>")
|
||||
else
|
||||
vim.defer_fn(function()
|
||||
vim.fn["compe#confirm"]("<cr>")
|
||||
end, 20)
|
||||
return npairs.esc("<c-n>")
|
||||
end
|
||||
else
|
||||
return npairs.check_break_line_char()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
remap('i' , '<CR>','v:lua.MUtils.completion_confirm()', {expr = true , noremap = true})
|
|
@ -14,21 +14,3 @@ require'nvim-treesitter.configs'.setup {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
-- require'nvim-treesitter.configs'.setup {
|
||||
-- refactor = {
|
||||
-- highlight_current_scope = { enable = false },
|
||||
-- },
|
||||
-- }
|
||||
|
||||
-- require'nvim-treesitter.configs'.setup {
|
||||
-- refactor = {
|
||||
-- smart_rename = {
|
||||
-- enable = true,
|
||||
-- keymaps = {
|
||||
-- smart_rename = "grr",
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- }
|
||||
|
69
lua/plugins.lua
Normal file
69
lua/plugins.lua
Normal file
|
@ -0,0 +1,69 @@
|
|||
local execute = vim.api.nvim_command
|
||||
local fn = vim.fn
|
||||
|
||||
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||
|
||||
|
||||
if fn.empty(fn.glob(install_path)) > 0 then
|
||||
execute('!git clone https://github.com/wbthomason/packer.nvim '..install_path)
|
||||
execute 'packadd packer.nvim'
|
||||
end
|
||||
|
||||
|
||||
return require('packer').startup(function()
|
||||
-- Packer can manage itself as an optional plugin
|
||||
use {'wbthomason/packer.nvim', opt = true}
|
||||
|
||||
-- Information
|
||||
use 'nanotee/nvim-lua-guide'
|
||||
|
||||
-- LSP
|
||||
use 'neovim/nvim-lspconfig'
|
||||
use 'glepnir/lspsaga.nvim'
|
||||
use 'onsails/lspkind-nvim'
|
||||
use 'kosayoda/nvim-lightbulb'
|
||||
use 'mfussenegger/nvim-jdtls'
|
||||
|
||||
-- Debugging
|
||||
use 'mfussenegger/nvim-dap'
|
||||
|
||||
-- Autocomplete
|
||||
use 'hrsh7th/nvim-compe'
|
||||
use 'hrsh7th/vim-vsnip'
|
||||
|
||||
-- Treesitter
|
||||
use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' }
|
||||
use 'nvim-treesitter/playground'
|
||||
use 'p00f/nvim-ts-rainbow'
|
||||
|
||||
-- Icons
|
||||
use 'kyazdani42/nvim-web-devicons'
|
||||
|
||||
-- Status Line and Bufferline
|
||||
use 'glepnir/galaxyline.nvim'
|
||||
use {'akinsho/nvim-bufferline.lua', requires = 'kyazdani42/nvim-web-devicons'}
|
||||
|
||||
-- Telescope
|
||||
use 'nvim-lua/popup.nvim'
|
||||
use 'nvim-lua/plenary.nvim'
|
||||
use 'nvim-telescope/telescope.nvim'
|
||||
use 'nvim-telescope/telescope-media-files.nvim'
|
||||
|
||||
-- Explorer
|
||||
use 'kyazdani42/nvim-tree.lua'
|
||||
|
||||
|
||||
-- Color
|
||||
use 'christianchiarulli/nvcode-color-schemes.vim'
|
||||
use 'norcalli/nvim-colorizer.lua'
|
||||
|
||||
-- Git
|
||||
use 'TimUntersberger/neogit'
|
||||
use {'lewis6991/gitsigns.nvim', requires = { 'nvim-lua/plenary.nvim' } }
|
||||
|
||||
-- General Plugins
|
||||
use 'windwp/nvim-autopairs'
|
||||
use 'kevinhwang91/nvim-bqf'
|
||||
use 'unblevable/quick-scope'
|
||||
use 'airblade/vim-rooter'
|
||||
end)
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
local actions = require('telescope.actions')
|
||||
-- Global remapping
|
||||
------------------------------
|
||||
-- '--color=never',
|
||||
require('telescope').load_extension('media_files')
|
||||
require('telescope').setup {
|
||||
defaults = {
|
||||
vimgrep_arguments = {'rg', '--no-heading', '--with-filename', '--line-number', '--column', '--smart-case'},
|
||||
prompt_position = "top",
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
entry_prefix = " ",
|
||||
initial_mode = "insert",
|
||||
selection_strategy = "reset",
|
||||
sorting_strategy = "descending",
|
||||
layout_strategy = "horizontal",
|
||||
layout_defaults = {horizontal = {mirror = false}, vertical = {mirror = false}},
|
||||
file_sorter = require'telescope.sorters'.get_fuzzy_file,
|
||||
file_ignore_patterns = {},
|
||||
generic_sorter = require'telescope.sorters'.get_generic_fuzzy_sorter,
|
||||
shorten_path = true,
|
||||
winblend = 0,
|
||||
width = 0.75,
|
||||
preview_cutoff = 120,
|
||||
results_height = 1,
|
||||
results_width = 0.8,
|
||||
border = {},
|
||||
borderchars = {'─', '│', '─', '│', '╭', '╮', '╯', '╰'},
|
||||
color_devicons = true,
|
||||
use_less = true,
|
||||
set_env = {['COLORTERM'] = 'truecolor'}, -- default = nil,
|
||||
file_previewer = require'telescope.previewers'.vim_buffer_cat.new,
|
||||
grep_previewer = require'telescope.previewers'.vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require'telescope.previewers'.vim_buffer_qflist.new,
|
||||
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker,
|
||||
mappings = {
|
||||
i = {
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
-- To disable a keymap, put [map] = false
|
||||
-- So, to not map "<C-n>", just put
|
||||
-- ["<c-x>"] = false,
|
||||
|
||||
-- Otherwise, just set the mapping to the function that you want it to be.
|
||||
-- ["<C-i>"] = actions.select_horizontal,
|
||||
|
||||
-- Add up multiple actions
|
||||
["<CR>"] = actions.select_default + actions.center
|
||||
|
||||
-- You can perform as many actions in a row as you like
|
||||
-- ["<CR>"] = actions.select_default + actions.center + my_cool_custom_action,
|
||||
},
|
||||
n = {
|
||||
["<C-j>"] = actions.move_selection_next,
|
||||
["<C-k>"] = actions.move_selection_previous
|
||||
-- ["<esc>"] = actions.close,
|
||||
-- ["<C-i>"] = my_cool_custom_action,
|
||||
}
|
||||
}
|
||||
},
|
||||
require'telescope'.setup {
|
||||
extensions = {
|
||||
media_files = {
|
||||
-- filetypes whitelist
|
||||
-- defaults to {"png", "jpg", "mp4", "webm", "pdf"}
|
||||
filetypes = {"png", "webp", "jpg", "jpeg"},
|
||||
find_cmd = "rg" -- find command (defaults to `fd`)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
39
lua/settings.lua
Normal file
39
lua/settings.lua
Normal file
|
@ -0,0 +1,39 @@
|
|||
--vim.o.iskeyword="+=-" --treat dash separated words as a word text object"
|
||||
--vim.o.shortmess="c" --Don't pass messages to |ins-completion-menu|.
|
||||
|
||||
--vim.o.formatoptions="cro" --Stop newline continution of comments
|
||||
vim.o.hidden=true --Required to keep multiple buffers open multiple buffers
|
||||
vim.o.wrap=false --Display long lines as just one line
|
||||
--vim.o.whichwrap="+=<,>,[,],h,l"
|
||||
vim.o.encoding="utf-8" --The encoding displayed
|
||||
vim.o.pumheight=10 --Makes popup menu smaller
|
||||
vim.o.fileencoding="utf-8" --The encoding written to file
|
||||
vim.o.ruler=true -- " Show the cursor position all the time
|
||||
vim.o.cmdheight=2 --More space for displaying messages
|
||||
vim.o.mouse="a" --Enable your mouse
|
||||
vim.o.splitbelow=true --Horizontal splits will automatically be below
|
||||
vim.o.termguicolors=true
|
||||
vim.o.splitright=true --Vertical splits will automatically be to the right
|
||||
vim.o.t_Co="256" --Support 256 colors
|
||||
vim.o.conceallevel=0 --So that I can see `` in markdown files
|
||||
vim.o.tabstop=2 --Insert 2 spaces for a tab
|
||||
vim.o.shiftwidth=2 --Change the number of space characters inserted for indentation
|
||||
vim.o.smarttab=true --Makes tabbing smarter will realize you have 2 vs 4
|
||||
vim.o.expandtab=true --Converts tabs to spaces
|
||||
vim.o.smartindent=true --Makes indenting smart
|
||||
vim.o.autoindent=true --Good auto indent
|
||||
vim.o.laststatus=2 --Always display the status line
|
||||
--vim.o.number=true --Line numbers
|
||||
vim.wo.number = true
|
||||
vim.o.cursorline=true --Enable highlighting of the current line
|
||||
vim.o.background="dark" --tell vim what the background color looks like
|
||||
vim.o.showtabline=2 --Always show tabs
|
||||
vim.o.showmode=false --We don't need to see things like -- INSERT -- anymore
|
||||
vim.o.backup=false --This is recommended by coc
|
||||
vim.o.writebackup=false --This is recommended by coc
|
||||
vim.o.signcolumn="yes" --Always show the signcolumn, otherwise it would shift the text each time
|
||||
vim.o.updatetime=300 --Faster completion
|
||||
vim.o.timeoutlen=1000 --By default timeoutlen is 1000 ms
|
||||
vim.o.clipboard="unnamedplus" --Copy paste between vim and everything else
|
||||
vim.o.incsearch=true
|
||||
vim.o.guifont="JetBrainsMono\\ Nerd\\ Font\\ Mono:h18"
|
|
@ -1 +0,0 @@
|
|||
let g:ale_disable_lsp = 1
|
|
@ -1,62 +0,0 @@
|
|||
let g:asyncrun_open = 6
|
||||
let g:asynctasks_term_pos = 'bottom'
|
||||
" let g:asynctasks_term_pos = 'top'
|
||||
" let g:asynctasks_term_pos = 'tab'
|
||||
" let g:asynctasks_term_pos = 'external'
|
||||
let g:asynctasks_extra_config = ['~/.config/nvim/utils/tasks.ini']
|
||||
" let current_tasks = asynctasks#list("")
|
||||
|
||||
function! s:fzf_sink(what)
|
||||
let p1 = stridx(a:what, '<')
|
||||
if p1 >= 0
|
||||
let name = strpart(a:what, 0, p1)
|
||||
let name = substitute(name, '^\s*\(.\{-}\)\s*$', '\1', '')
|
||||
if name != ''
|
||||
exec "AsyncTask ". fnameescape(name)
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:fzf_task()
|
||||
let rows = asynctasks#source(&columns * 48 / 100)
|
||||
let source = []
|
||||
for row in rows
|
||||
let name = row[0]
|
||||
let source += [name . ' ' . row[1] . ' : ' . row[2]]
|
||||
endfor
|
||||
let opts = { 'source': source, 'sink': function('s:fzf_sink'),
|
||||
\ 'options': '+m --nth 1 --inline-info --tac' }
|
||||
if exists('g:fzf_layout')
|
||||
for key in keys(g:fzf_layout)
|
||||
let opts[key] = deepcopy(g:fzf_layout[key])
|
||||
endfor
|
||||
endif
|
||||
call fzf#run(opts)
|
||||
endfunction
|
||||
|
||||
command! -nargs=0 AsyncTaskFzf call s:fzf_task()
|
||||
|
||||
" Available Variables
|
||||
" $(VIM_FILEPATH) # File name of current buffer with full path.
|
||||
" $(VIM_FILENAME) # File name of current buffer without path.
|
||||
" $(VIM_FILEDIR) # Full path of current buffer without the file name.
|
||||
" $(VIM_FILEEXT) # File extension of current buffer.
|
||||
" $(VIM_FILETYPE) # File type (value of &ft in vim)
|
||||
" $(VIM_FILENOEXT) # File name of current buffer without path and extension.
|
||||
" $(VIM_PATHNOEXT) # Current file name with full path but without extension.
|
||||
" $(VIM_CWD) # Current directory (which :pwd returns).
|
||||
" $(VIM_RELDIR) # File path relativize to current directory.
|
||||
" $(VIM_RELNAME) # File name relativize to current directory.
|
||||
" $(VIM_ROOT) # Project root directory.
|
||||
" $(VIM_CWORD) # Word under cursor.
|
||||
" $(VIM_CFILE) # File name under cursor.
|
||||
" $(VIM_CLINE) # Cursor line number in current buffer
|
||||
" $(VIM_GUI) # has('gui_runnin')?
|
||||
" $(VIM_VERSION) # Value of v:version.
|
||||
" $(VIM_COLUMNS) # Current screen width.
|
||||
" $(VIM_LINES) # Current screen height.
|
||||
" $(VIM_SVRNAME) # Value of v:servername.
|
||||
" $(VIM_PRONAME) # Name of current project root directory
|
||||
" $(VIM_DIRNAME) # Name of current directory
|
||||
" $(VIM_INIFILE) # Full path name of current ini (.tasks) file.
|
||||
" $(VIM_INIHOME) # Where the ini file locates.
|
|
@ -1,56 +0,0 @@
|
|||
let bufferline = {}
|
||||
|
||||
" Show a shadow over the editor in buffer-pick mode
|
||||
let bufferline.shadow = v:true
|
||||
|
||||
" Enable/disable icons
|
||||
let bufferline.icons = v:true
|
||||
|
||||
" Enables/disable clickable tabs
|
||||
" - left-click: go to buffer
|
||||
" - middle-click: delete buffer
|
||||
"
|
||||
" NOTE disabled by default because this might cause E541 (too many items)
|
||||
" if you have many tabs open
|
||||
let bufferline.clickable = v:true
|
||||
|
||||
" If set, the letters for each buffer in buffer-pick mode will be
|
||||
" assigned based on their name. Otherwise or in case all letters are
|
||||
" already assigned, the behavior is to assign letters in order of
|
||||
" usability (see order below)
|
||||
let bufferline.semantic_letters = v:true
|
||||
|
||||
" New buffer letters are assigned in this order. This order is
|
||||
" optimal for the qwerty keyboard layout but might need adjustement
|
||||
" for other layouts.
|
||||
let bufferline.letters =
|
||||
\ 'asdfjkl;ghnmxcbziowerutyqpASDFJKLGHNMXCBZIOWERUTYQP'
|
||||
|
||||
let bg_current = get(nvim_get_hl_by_name('Normal', 1), 'background', '#000000')
|
||||
let bg_visible = get(nvim_get_hl_by_name('TabLineSel', 1), 'background', '#000000')
|
||||
let bg_inactive = get(nvim_get_hl_by_name('TabLine', 1), 'background', '#000000')
|
||||
|
||||
" For the current active buffer
|
||||
hi default link BufferCurrent Normal
|
||||
" For the current active buffer when modified
|
||||
hi default link BufferCurrentMod Normal
|
||||
" For the current active buffer icon
|
||||
hi default link BufferCurrentSign Normal
|
||||
" For the current active buffer target when buffer-picking
|
||||
exe 'hi default BufferCurrentTarget guifg=red gui=bold guibg=' . bg_current
|
||||
|
||||
" For buffers visible but not the current one
|
||||
hi default link BufferVisible TabLineSel
|
||||
hi default link BufferVisibleMod TabLineSel
|
||||
hi default link BufferVisibleSign TabLineSel
|
||||
exe 'hi default BufferVisibleTarget guifg=red gui=bold guibg=' . bg_visible
|
||||
|
||||
" For buffers invisible buffers
|
||||
hi default link BufferInactive TabLine
|
||||
hi default link BufferInactiveMod TabLine
|
||||
hi default link BufferInactiveSign TabLine
|
||||
exe 'hi default BufferInactiveTarget guifg=red gui=bold guibg=' . bg_inactive
|
||||
|
||||
|
||||
" For the shadow in buffer-picking mode
|
||||
hi default BufferShadow guifg=#000000 guibg=#000000
|
|
@ -1,2 +0,0 @@
|
|||
let g:better_whitespace_enabled=0
|
||||
" let g:strip_whitespace_on_save=1
|
|
@ -1,2 +0,0 @@
|
|||
"cd ~/.config/autoload/plugged/bracey.vim for plug
|
||||
"run npm install --prefix server
|
|
@ -1,4 +0,0 @@
|
|||
let g:closetag_filenames = '*.html,*.xhtml,*.phtml'
|
||||
let g:closetag_xhtml_filenames = '*.xhtml,*.jsx,*.js'
|
||||
let g:closetag_filetypes = 'html,xhtml,phtml,javascript'
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
highlight CodiVirtualText guifg='#6495ed'
|
||||
|
||||
let g:codi#virtual_text_prefix = "❯ "
|
||||
|
||||
let g:codi#aliases = {
|
||||
\ 'javascript.jsx': 'javascript',
|
||||
\ }
|
|
@ -1,18 +0,0 @@
|
|||
nmap <C-a> <Plug>(dial-increment)
|
||||
nmap <C-x> <Plug>(dial-decrement)
|
||||
vmap <C-a> <Plug>(dial-increment)
|
||||
vmap <C-x> <Plug>(dial-decrement)
|
||||
vmap g<C-a> <Plug>(dial-increment-additional)
|
||||
vmap g<C-x> <Plug>(dial-decrement-additional)
|
||||
|
||||
lua << EOF
|
||||
local dial = require("dial")
|
||||
|
||||
dial.config.searchlist.normal = {
|
||||
"number#decimal",
|
||||
"number#hex",
|
||||
"number#binary",
|
||||
"date#[%Y/%m/%d]",
|
||||
"markup#markdown#header",
|
||||
}
|
||||
EOF
|
|
@ -1,42 +0,0 @@
|
|||
" let g:EasyMotion_do_mapping = 0 " Disable default mappings
|
||||
" " Turn on case-insensitive feature
|
||||
let g:EasyMotion_smartcase = 1
|
||||
let g:EasyMotion_verbose = 0
|
||||
let g:EasyMotion_do_shade = 0
|
||||
|
||||
" " JK motions: Line motions
|
||||
" map <Leader>j <Plug>(easymotion-j)
|
||||
" map <Leader>k <Plug>(easymotion-k)
|
||||
|
||||
" nmap s <Plug>(easymotion-s2)
|
||||
" nmap t <Plug>(easymotion-t2)
|
||||
|
||||
" TODO add separate section for vscode
|
||||
|
||||
" map <Leader>f <Plug>(easymotion-bd-f)
|
||||
" nmap <Leader>f <Plug>(easymotion-overwin-f)
|
||||
|
||||
" s{char}{char} to move to {char}{char}
|
||||
nmap <silent> s <Plug>(easymotion-s2)
|
||||
nmap <silent> S <Plug>(easymotion-overwin-f2)
|
||||
" map n <Plug>(easymotion-next)
|
||||
" map N <Plug>(easymotion-prev)
|
||||
" nmap S <Plug>(easymotion-overwin-t)
|
||||
|
||||
" Move to line
|
||||
" map <Leader>l <Plug>(easymotion-bd-jk)
|
||||
" nmap <Leader>l <Plug>(easymotion-overwin-line)
|
||||
|
||||
" " Move to word
|
||||
" map <Leader>w <Plug>(easymotion-bd-w)
|
||||
" nmap <Leader>w <Plug>(easymotion-overwin-w)
|
||||
|
||||
" hi link EasyMotionTarget ErrorMsg
|
||||
" hi link EasyMotionShade Comment
|
||||
let g:EasyMotion_prompt = '🔎 '
|
||||
|
||||
" hi link EasyMotionMoveHL Search
|
||||
" hi link EasyMotionIncSearch Search
|
||||
|
||||
"Lower case finds upper & lower case but upper case only finds upper case
|
||||
" let g:EasyMotion_smartcase = 1
|
|
@ -1,67 +0,0 @@
|
|||
let g:far#source='rgnvim'
|
||||
" let g:far#source='rg'
|
||||
" let g:far#source='vimgrep'
|
||||
" let g:far#source='ag'
|
||||
|
||||
set lazyredraw " improve scrolling performance when navigating through large results
|
||||
|
||||
let g:far#window_width=50
|
||||
" Use %:p with buffer option only
|
||||
let g:far#file_mask_favorites=['%:p', '**/*.*', '**/*.js', '**/*.py', '**/*.java', '**/*.css', '**/*.html', '**/*.vim', '**/*.cpp', '**/*.c', '**/*.h', ]
|
||||
let g:far#window_min_content_width=30
|
||||
let g:far#enable_undo=1
|
||||
|
||||
" let g:far#ignore_files=['$HOME/.config/nvim/utils/farignore']
|
||||
" let g:far#ignore_files=['node_modules/']
|
||||
|
||||
" Below are the default mappings and corresponding variable names in
|
||||
|
||||
" x v_x - Exclude item under the cursor.
|
||||
|
||||
" i v_i - Include item under the cursor.
|
||||
|
||||
" t v_t - Toggle item exclusion under the cursor.
|
||||
|
||||
" f v_f - Smartly toggle item exclusion under the cursor: exclude all items when all are excluded, otherwise exclude all items.
|
||||
|
||||
" X - Exclude all items.
|
||||
|
||||
" I - Include all items.
|
||||
|
||||
" T - Toggle exclusion for all items.
|
||||
|
||||
" F - Smartly toggle exclusion for all items: include all items when all are excluded, otherwise exclude all items.
|
||||
|
||||
" <CR> - Jump to the source code of the item under the cursor. See |far-jump|
|
||||
|
||||
" p - Open preview window (if not) and scroll to the item under the cursor. See |far-preview|
|
||||
|
||||
" P - Close preview window. See |far-preview|
|
||||
|
||||
" CTRL-K - Scroll preview window up (if open). See |far-preview|, |g:far#preview_window_scroll_step|
|
||||
|
||||
" CTRL-J - Scroll preview window down (if open). See |far-preview|, |g:far#preview_window_scroll_step|
|
||||
|
||||
" zo - Expand node under the cursor.
|
||||
|
||||
" zc - Collapse node under the cursor.
|
||||
|
||||
" za - Toggle node expanding under the cursor.
|
||||
|
||||
" zs - Smartly toggle exclusion for all nodes: expand all nodes when all are collapsed, otherwise collapse all nodes.
|
||||
|
||||
" zr v_zr - Expand all nodes.
|
||||
|
||||
" zm v_zm - Collapse all nodes.
|
||||
|
||||
" zA v_zA - Toggle exclusion for all nodes.
|
||||
|
||||
" zS v_zS - Smartly toggle exclusion for all nodes: expand all nodes when all are collapsed, otherwise collapse all nodes.
|
||||
|
||||
" s v_s - Execute |:Fardo|<CR>, to replace all included items.
|
||||
|
||||
" u v_s - Execute |:Farundo|<CR>, to undo the last replacement by |:Fardo|.
|
||||
|
||||
" U v_U - Execute |:Farundo| --all=1<CR>, to undo all replacements by |:Fardo|. For param '--all=' see |farundo-params|.
|
||||
|
||||
" q v_q - Close searching result buffer and its preview buffer (if exists)
|
|
@ -1,17 +0,0 @@
|
|||
|
||||
" let g:floaterm_wintype='normal'
|
||||
" let g:floaterm_height=6
|
||||
|
||||
let g:floaterm_keymap_toggle = '<F1>'
|
||||
let g:floaterm_keymap_next = '<F2>'
|
||||
let g:floaterm_keymap_prev = '<F3>'
|
||||
let g:floaterm_keymap_new = '<F4>'
|
||||
let g:floaterm_title=''
|
||||
|
||||
" Floaterm
|
||||
let g:floaterm_gitcommit='floaterm'
|
||||
let g:floaterm_autoinsert=1
|
||||
let g:floaterm_width=0.8
|
||||
let g:floaterm_height=0.8
|
||||
let g:floaterm_wintitle=0
|
||||
let g:floaterm_autoclose=1
|
|
@ -1,78 +0,0 @@
|
|||
" This is the default extra key bindings
|
||||
let g:fzf_action = {
|
||||
\ 'ctrl-t': 'tab split',
|
||||
\ 'ctrl-x': 'split',
|
||||
\ 'ctrl-v': 'vsplit' }
|
||||
|
||||
" Enable per-command history.
|
||||
" CTRL-N and CTRL-P will be automatically bound to next-history and
|
||||
" previous-history instead of down and up. If you don't like the change,
|
||||
" explicitly bind the keys to down and up in your $FZF_DEFAULT_OPTS.
|
||||
let g:fzf_history_dir = '~/.local/share/fzf-history'
|
||||
let g:fzf_buffers_jump = 1
|
||||
|
||||
" map <C-f> :Files<CR>
|
||||
" map <leader>b :Buffers<CR>
|
||||
" nnoremap <leader>g :Rg<CR>
|
||||
" nnoremap <leader>t :Tags<CR>
|
||||
" nnoremap <leader>m :Marks<CR>
|
||||
|
||||
|
||||
let g:fzf_tags_command = 'ctags -R'
|
||||
" Border color
|
||||
let g:fzf_layout = {'up':'~90%', 'window': { 'width': 0.8, 'height': 0.8,'yoffset':0.5,'xoffset': 0.5, 'highlight': 'Todo', 'border': 'sharp' } }
|
||||
|
||||
let $FZF_DEFAULT_OPTS = '--layout=reverse --inline-info'
|
||||
let $FZF_DEFAULT_COMMAND="rg --files --hidden --glob '!.git/**'"
|
||||
"-g '!{node_modules,.git}'
|
||||
|
||||
" Customize fzf colors to match your color scheme
|
||||
let g:fzf_colors =
|
||||
\ { 'fg': ['fg', 'Normal'],
|
||||
\ 'bg': ['bg', 'Normal'],
|
||||
\ 'hl': ['fg', 'Comment'],
|
||||
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
|
||||
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
|
||||
\ 'hl+': ['fg', 'Statement'],
|
||||
\ 'info': ['fg', 'PreProc'],
|
||||
\ 'border': ['fg', 'Ignore'],
|
||||
\ 'prompt': ['fg', 'Conditional'],
|
||||
\ 'pointer': ['fg', 'Exception'],
|
||||
\ 'marker': ['fg', 'Keyword'],
|
||||
\ 'spinner': ['fg', 'Label'],
|
||||
\ 'header': ['fg', 'Comment'] }
|
||||
|
||||
"Get Files
|
||||
command! -bang -nargs=? -complete=dir Files
|
||||
\ call fzf#vim#files(<q-args>, fzf#vim#with_preview({'options': ['--layout=reverse', '--inline-info']}), <bang>0)
|
||||
|
||||
|
||||
" Get text in files with Rg
|
||||
" command! -bang -nargs=* Rg
|
||||
" \ call fzf#vim#grep(
|
||||
" \ "rg --column --line-number --no-heading --color=always --smart-case --glob '!.git/**' ".shellescape(<q-args>), 1,
|
||||
|
||||
" Make Ripgrep ONLY search file contents and not filenames
|
||||
command! -bang -nargs=* Rg
|
||||
\ call fzf#vim#grep(
|
||||
\ 'rg --column --line-number --hidden --smart-case --no-heading --color=always '.shellescape(<q-args>), 1,
|
||||
\ <bang>0 ? fzf#vim#with_preview({'options': '--delimiter : --nth 4..'}, 'up:60%')
|
||||
\ : fzf#vim#with_preview({'options': '--delimiter : --nth 4.. -e'}, 'right:50%', '?'),
|
||||
\ <bang>0)
|
||||
|
||||
" Ripgrep advanced
|
||||
function! RipgrepFzf(query, fullscreen)
|
||||
let command_fmt = 'rg --column --line-number --no-heading --color=always --smart-case %s || true'
|
||||
let initial_command = printf(command_fmt, shellescape(a:query))
|
||||
let reload_command = printf(command_fmt, '{q}')
|
||||
let spec = {'options': ['--phony', '--query', a:query, '--bind', 'change:reload:'.reload_command]}
|
||||
call fzf#vim#grep(initial_command, 1, fzf#vim#with_preview(spec), a:fullscreen)
|
||||
endfunction
|
||||
|
||||
command! -nargs=* -bang RG call RipgrepFzf(<q-args>, <bang>0)
|
||||
|
||||
" Git grep
|
||||
command! -bang -nargs=* GGrep
|
||||
\ call fzf#vim#grep(
|
||||
\ 'git grep --line-number '.shellescape(<q-args>), 0,
|
||||
\ fzf#vim#with_preview({'dir': systemlist('git rev-parse --show-toplevel')[0]}), <bang>0)
|
|
@ -1 +0,0 @@
|
|||
let g:git_messenger_no_default_mappings=1
|
|
@ -1,15 +0,0 @@
|
|||
|
||||
|
||||
let g:gitgutter_sign_allow_clobber = 1
|
||||
let g:gitgutter_sign_added = '▎'
|
||||
let g:gitgutter_sign_modified = '▎'
|
||||
let g:gitgutter_sign_removed = '契'
|
||||
let g:gitgutter_sign_removed_first_line = '契'
|
||||
let g:gitgutter_sign_modified_removed = '▎'
|
||||
let g:gitgutter_preview_win_floating = 1
|
||||
|
||||
let g:gitgutter_enabled = 1
|
||||
|
||||
highlight GitGutterAdd guifg=#587C0C ctermfg=2
|
||||
highlight GitGutterChange guifg=#0C7D9D ctermfg=3
|
||||
highlight GitGutterDelete guifg=#94151B ctermfg=1
|
|
@ -1,28 +0,0 @@
|
|||
" nmap <silent> <leader>z :Goyo<CR>
|
||||
" autocmd User GoyoEnter set laststatus=0
|
||||
" autocmd User GoyoLeave set laststatus=2
|
||||
" function! s:goyo_enter()
|
||||
|
||||
" set wrap
|
||||
" set conceallevel=0
|
||||
" set tw=100
|
||||
" set noshowcmd
|
||||
" set scrolloff=999
|
||||
" set laststatus=0
|
||||
|
||||
" endfunction
|
||||
|
||||
" function! s:goyo_leave()
|
||||
|
||||
" set wrap!
|
||||
" set showcmd
|
||||
" set scrolloff=5
|
||||
" set laststatus=2
|
||||
|
||||
" endfunction
|
||||
|
||||
" autocmd! User GoyoEnter nested call <SID>goyo_enter()
|
||||
" autocmd! User GoyoLeave nested call <SID>goyo_leave()
|
||||
|
||||
autocmd! User GoyoEnter lua require('galaxyline').disable_galaxyline()
|
||||
autocmd! User GoyoLeave lua require('galaxyline').galaxyline_augroup()
|
|
@ -1 +0,0 @@
|
|||
let g:highlightedyank_highlight_duration = 500
|
|
@ -1,2 +0,0 @@
|
|||
" have to disable for html for now until I can just blacklist the highlight group
|
||||
let g:Illuminate_ftblacklist = ['javascript', 'jsx', 'html']
|
|
@ -1,5 +0,0 @@
|
|||
let g:leetcode_browser='chrome'
|
||||
let g:leetcode_china=0
|
||||
let g:leetcode_hide_paid_only=1
|
||||
let g:leetcode_solution_filetype='python3'
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
" Lightbulb
|
||||
autocmd CursorHold,CursorHoldI * lua require'nvim-lightbulb'.update_lightbulb()
|
|
@ -1,36 +0,0 @@
|
|||
" LSP config (the mappings used in the default file don't quite work right)
|
||||
nnoremap <silent> gd <cmd>lua vim.lsp.buf.definition()<CR>
|
||||
nnoremap <silent> gD <cmd>lua vim.lsp.buf.declaration()<CR>
|
||||
nnoremap <silent> gr <cmd>lua vim.lsp.buf.references()<CR>
|
||||
nnoremap <silent> gi <cmd>lua vim.lsp.buf.implementation()<CR>
|
||||
nnoremap <silent> ca :Lspsaga code_action<CR>
|
||||
" nnoremap <silent> K <cmd>lua vim.lsp.buf.hover()<CR>
|
||||
nnoremap <silent> K :Lspsaga hover_doc<CR>
|
||||
nnoremap <silent> <C-k> <cmd>lua vim.lsp.buf.signature_help()<CR>
|
||||
" nnoremap <silent> <C-p> <cmd>lua vim.lsp.diagnostic.goto_prev()<CR>
|
||||
" nnoremap <silent> <C-n> <cmd>lua vim.lsp.diagnostic.goto_next()<CR>
|
||||
nnoremap <silent> <C-p> :Lspsaga diagnostic_jump_prev<CR>
|
||||
nnoremap <silent> <C-n> :Lspsaga diagnostic_jump_next<CR>
|
||||
" autoformat
|
||||
autocmd BufWritePre *.js lua vim.lsp.buf.formatting_sync(nil, 100)
|
||||
autocmd BufWritePre *.jsx lua vim.lsp.buf.formatting_sync(nil, 100)
|
||||
autocmd BufWritePre *.lua lua vim.lsp.buf.formatting_sync(nil, 100)
|
||||
" autocmd BufWritePre *.py lua vim.lsp.buf.formatting_sync(nil, 100)
|
||||
|
||||
" -- `code_action` is a superset of vim.lsp.buf.code_action and you'll be able to
|
||||
" -- use this mapping also with other language servers
|
||||
|
||||
autocmd FileType java nnoremap ca <Cmd>lua require('jdtls').code_action()<CR>
|
||||
|
||||
|
||||
|
||||
" -- If using nvim-dap
|
||||
" -- This requires java-debug and vscode-java-test bundles, see install steps in this README further below.
|
||||
" nnoremap <leader>df <Cmd>lua require'jdtls'.test_class()<CR>
|
||||
" nnoremap <leader>dn <Cmd>lua require'jdtls'.test_nearest_method()<CR>
|
||||
|
||||
command! -buffer JdtCompile lua require('jdtls').compile()
|
||||
command! -buffer JdtUpdateConfig lua require('jdtls').update_project_config()
|
||||
command! -buffer JdtJol lua require('jdtls').jol()
|
||||
command! -buffer JdtBytecode lua require('jdtls').javap()
|
||||
command! -buffer JdtJshell lua require('jdtls').jshell()
|
|
@ -1,9 +0,0 @@
|
|||
" TODO find way to add doc abilities back for compe
|
||||
nnoremap <silent> K <cmd>lua require('lspsaga.hover').render_hover_doc()<CR>
|
||||
" -- scroll down hover doc or scroll in definition preview
|
||||
nnoremap <silent> <C-f> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(1)<CR>
|
||||
" -- scroll up hover doc
|
||||
nnoremap <silent> <C-b> <cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1)<CR>
|
||||
" signature
|
||||
nnoremap <silent> gs <cmd>lua require('lspsaga.signaturehelp').signature_help()<CR>
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
" set to 1, nvim will open the preview window after entering the markdown buffer
|
||||
" default: 0
|
||||
let g:mkdp_auto_start = 0
|
||||
|
||||
" set to 1, the nvim will auto close current preview window when change
|
||||
" from markdown buffer to another buffer
|
||||
" default: 1
|
||||
let g:mkdp_auto_close = 0
|
||||
|
||||
" set to 1, the vim will refresh markdown when save the buffer or
|
||||
" leave from insert mode, default 0 is auto refresh markdown as you edit or
|
||||
" move the cursor
|
||||
" default: 0
|
||||
let g:mkdp_refresh_slow = 0
|
||||
|
||||
" set to 1, the MarkdownPreview command can be use for all files,
|
||||
" by default it can be use in markdown file
|
||||
" default: 0
|
||||
let g:mkdp_command_for_global = 0
|
||||
|
||||
" set to 1, preview server available to others in your network
|
||||
" by default, the server listens on localhost (127.0.0.1)
|
||||
" default: 0
|
||||
let g:mkdp_open_to_the_world = 1
|
||||
|
||||
" use custom IP to open preview page
|
||||
" useful when you work in remote vim and preview on local browser
|
||||
" more detail see: https://github.com/iamcco/markdown-preview.nvim/pull/9
|
||||
" default empty
|
||||
let g:mkdp_open_ip = ''
|
||||
|
||||
" specify browser to open preview page
|
||||
" default: ''
|
||||
let g:mkdp_browser = ''
|
||||
|
||||
" set to 1, echo preview page url in command line when open preview page
|
||||
" default is 0
|
||||
let g:mkdp_echo_preview_url = 0
|
||||
|
||||
" a custom vim function name to open preview page
|
||||
" this function will receive url as param
|
||||
" default is empty
|
||||
let g:mkdp_browserfunc = ''
|
||||
|
||||
" options for markdown render
|
||||
" mkit: markdown-it options for render
|
||||
" katex: katex options for math
|
||||
" uml: markdown-it-plantuml options
|
||||
" maid: mermaid options
|
||||
" disable_sync_scroll: if disable sync scroll, default 0
|
||||
" sync_scroll_type: 'middle', 'top' or 'relative', default value is 'middle'
|
||||
" middle: mean the cursor position alway show at the middle of the preview page
|
||||
" top: mean the vim top viewport alway show at the top of the preview page
|
||||
" relative: mean the cursor position alway show at the relative positon of the preview page
|
||||
" hide_yaml_meta: if hide yaml metadata, default is 1
|
||||
" sequence_diagrams: js-sequence-diagrams options
|
||||
" content_editable: if enable content editable for preview page, default: v:false
|
||||
let g:mkdp_preview_options = {
|
||||
\ 'mkit': {},
|
||||
\ 'katex': {},
|
||||
\ 'uml': {},
|
||||
\ 'maid': {},
|
||||
\ 'disable_sync_scroll': 0,
|
||||
\ 'sync_scroll_type': 'middle',
|
||||
\ 'hide_yaml_meta': 1,
|
||||
\ 'sequence_diagrams': {},
|
||||
\ 'flowchart_diagrams': {},
|
||||
\ 'content_editable': v:false
|
||||
\ }
|
||||
|
||||
" use a custom markdown style must be absolute path
|
||||
" like '/Users/username/markdown.css' or expand('~/markdown.css')
|
||||
let g:mkdp_markdown_css = ''
|
||||
|
||||
" use a custom highlight style must absolute path
|
||||
" like '/Users/username/highlight.css' or expand('~/highlight.css')
|
||||
let g:mkdp_highlight_css = ''
|
||||
|
||||
" use a custom port to start server or random for empty
|
||||
let g:mkdp_port = ''
|
||||
|
||||
" preview page title
|
||||
" ${name} will be replace with the file name
|
||||
let g:mkdp_page_title = '「${name}」'
|
|
@ -1,6 +0,0 @@
|
|||
let g:minimap_auto_start=0
|
||||
let g:minimap_width 10
|
||||
let g:minimap_highlight=#4ec9b0
|
||||
let g:minimap_base_highlight=#1e1e1e
|
||||
let g:minimap_block_filetypes=['fugitive', 'nerdtree']
|
||||
let g:minimap_left=0
|
|
@ -1,5 +0,0 @@
|
|||
" set guifont=FiraCode\ Nerd\ Font\ Mono:h22
|
||||
set guifont=JetBrainsMono\ Nerd\ Font\ Mono:h22
|
||||
" set guifont=Hack\ Nerd\ Font:h22
|
||||
" set guifont=Noto\ Color\ Emoji:h22
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
" nnoremap <silent> <space>/ :Commentary<CR>
|
||||
vnoremap <silent> <space>/ :Commentary<CR>
|
||||
autocmd FileType javascript.jsx setlocal commentstring={/*\ %s\ */}
|
|
@ -1,45 +0,0 @@
|
|||
let g:nvim_tree_side = 'left' " | 'left' "left by default
|
||||
let g:nvim_tree_width = 40 "30 by default
|
||||
let g:nvim_tree_ignore = [ '.git', 'node_modules', '.cache' ] "empty by default
|
||||
let g:nvim_tree_auto_open = 0 "0 by default, opens the tree when typing `vim $DIR` or `vim`
|
||||
let g:nvim_tree_auto_close = 1 "0 by default, closes the tree when it's the last window
|
||||
" let g:nvim_tree_auto_ignore_ft = 'startify' "empty by default, don't auto open tree on specific filetypes.
|
||||
let g:nvim_tree_quit_on_open = 0 "0 by default, closes the tree when you open a file
|
||||
let g:nvim_tree_follow = 1 "0 by default, this option allows the cursor to be updated when entering a buffer
|
||||
let g:nvim_tree_indent_markers = 1 "0 by default, this option shows indent markers when folders are open
|
||||
let g:nvim_tree_hide_dotfiles = 1 "0 by default, this option hides files and folders starting with a dot `.`
|
||||
let g:nvim_tree_git_hl = 1 "0 by default, will enable file highlight for git attributes (can be used without the icons).
|
||||
" let g:nvim_tree_root_folder_modifier = ':~' "This is the default. See :help filename-modifiers for more options
|
||||
" let g:nvim_tree_tab_open = 1 "0 by default, will open the tree when entering a new tab and the tree was previously open
|
||||
" let g:nvim_tree_width_allow_resize = 1 "0 by default, will not resize the tree when opening a file
|
||||
let g:nvim_tree_disable_netrw = 0 "1 by default, disables netrw
|
||||
let g:nvim_tree_hijack_netrw = 0 "1 by default, prevents netrw from automatically opening when opening directories (but lets you keep its other utilities)
|
||||
let g:nvim_tree_show_icons = {
|
||||
\ 'git': 1,
|
||||
\ 'folders': 1,
|
||||
\ 'files': 1,
|
||||
\ }
|
||||
"If 0, do not show the icons for one of 'git' 'folder' and 'files'
|
||||
"1 by default, notice that if 'files' is 1, it will only display
|
||||
"if nvim-web-devicons is installed and on your runtimepath
|
||||
|
||||
" default will show icon by default if no icon is provided
|
||||
" default shows no icon by default
|
||||
let g:nvim_tree_icons = {
|
||||
\ 'default': '',
|
||||
\ 'symlink': '',
|
||||
\ 'git': {
|
||||
\ 'unstaged': "✗",
|
||||
\ 'staged': "✓",
|
||||
\ 'unmerged': "",
|
||||
\ 'renamed': "➜",
|
||||
\ 'untracked': "ﭖ"
|
||||
\ },
|
||||
\ 'folder': {
|
||||
\ 'default': "",
|
||||
\ 'open': "",
|
||||
\ 'empty': "",
|
||||
\ 'empty_open': "",
|
||||
\ 'symlink': "",
|
||||
\ }
|
||||
\ }
|
|
@ -1,7 +0,0 @@
|
|||
let g:polyglot_disabled = ['csv']
|
||||
|
||||
let g:python_highlight_all=1
|
||||
|
||||
let g:vim_jsx_pretty_colorful_config = 1
|
||||
|
||||
set re=0
|
|
@ -1,6 +0,0 @@
|
|||
" Trigger a highlight in the appropriate direction when pressing these keys:
|
||||
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
|
||||
|
||||
highlight QuickScopePrimary guifg='#00C7DF' gui=underline ctermfg=155 cterm=underline
|
||||
highlight QuickScopeSecondary guifg='#eF5F70' gui=underline ctermfg=81 cterm=underline
|
||||
let g:qs_max_chars=150
|
|
@ -1,39 +0,0 @@
|
|||
let g:rainbow#pairs = [['(', ')'], ['[', ']'], ['{', '}']]
|
||||
let g:rainbow_conf = {'guis': ['bold']}
|
||||
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
|
||||
|
||||
" \ 'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],
|
||||
let g:rainbow_conf = {
|
||||
\ 'guifgs': ['#858580', '#8FBCBB', '#D08770', '#A3BE8C', '#EBCB8B', '#B48EAD', '#80a880', '#887070'],
|
||||
\ 'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'],
|
||||
\ 'guis': [''],
|
||||
\ 'cterms': [''],
|
||||
\ 'operators': '_,_',
|
||||
\ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'],
|
||||
\ 'separately': {
|
||||
\ '*': {},
|
||||
\ 'markdown': {
|
||||
\ 'parentheses_options': 'containedin=markdownCode contained',
|
||||
\ },
|
||||
\ 'lisp': {
|
||||
\ 'guifgs': ['#858580', '#8FBCBB', '#D08770', '#A3BE8C', '#EBCB8B', '#B48EAD', '#80a880', '#887070'],
|
||||
\ },
|
||||
\ 'jsx': {
|
||||
\ 'guifgs': ['#858580', '#8FBCBB', '#D08770', '#A3BE8C', '#EBCB8B', '#B48EAD', '#80a880', '#887070'],
|
||||
\ },
|
||||
\ 'haskell': {
|
||||
\ 'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/\v\{\ze[^-]/ end=/}/ fold'],
|
||||
\ },
|
||||
\ 'vim': {
|
||||
\ 'parentheses_options': 'containedin=vimFuncBody',
|
||||
\ },
|
||||
\ 'perl': {
|
||||
\ 'syn_name_prefix': 'perlBlockFoldRainbow',
|
||||
\ },
|
||||
\ 'stylus': {
|
||||
\ 'parentheses': ['start=/{/ end=/}/ fold contains=@colorableGroup'],
|
||||
\ },
|
||||
\ 'css': 0,
|
||||
\ }
|
||||
\}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
let g:ranger_replace_netrw = 1 "// open ranger when vim open a directory
|
||||
"let g:NERDTreeHijackNetrw = 0 // add this line if you use NERDTree
|
||||
let g:ranger_map_keys = 0
|
|
@ -1,25 +0,0 @@
|
|||
" Make Ranger replace netrw and be the file explorer
|
||||
let g:rnvimr_ex_enable = 1
|
||||
|
||||
let g:rnvimr_draw_border = 1
|
||||
|
||||
" Make Ranger to be hidden after picking a file
|
||||
let g:rnvimr_pick_enable = 1
|
||||
|
||||
" Make Neovim to wipe the buffers corresponding to the files deleted by Ranger
|
||||
let g:rnvimr_bw_enable = 1
|
||||
|
||||
" nmap <leader>r :RnvimrToggle<CR>
|
||||
|
||||
let g:rnvimr_ranger_cmd = 'ranger --cmd="set column_ratios 1,1"'
|
||||
" \ --cmd="set draw_borders separators"'
|
||||
|
||||
" let g:rnvimr_layout = { 'relative': 'editor',
|
||||
" \ 'width': float2nr(round(0.6 * &columns)),
|
||||
" \ 'height': float2nr(round(0.6 * &lines)),
|
||||
" \ 'col': float2nr(round(0.2 * &columns)),
|
||||
" \ 'row': float2nr(round(0.2 * &lines)),
|
||||
" \ 'style': 'minimal' }
|
||||
|
||||
let g:rnvimr_presets = [
|
||||
\ {'width': 0.800, 'height': 0.800}]
|
|
@ -1,33 +0,0 @@
|
|||
let g:sneak#label = 1
|
||||
|
||||
" case insensitive sneak
|
||||
let g:sneak#use_ic_scs = 1
|
||||
|
||||
" imediately move tot the next instance of search, if you move the cursor sneak is back to default behavior
|
||||
let g:sneak#s_next = 1
|
||||
|
||||
" remap so I can use , and ; with f and t
|
||||
map gS <Plug>Sneak_,
|
||||
map gs <Plug>Sneak_;
|
||||
|
||||
" Change the colors
|
||||
highlight Sneak guifg=black guibg=#00C7DF ctermfg=black ctermbg=cyan
|
||||
highlight SneakScope guifg=red guibg=yellow ctermfg=red ctermbg=yellow
|
||||
|
||||
" Cool prompt
|
||||
let g:sneak#prompt = '🔎 '
|
||||
|
||||
" I like quickscope better for this since it keeps me in the scope of a single line
|
||||
" map f <Plug>Sneak_f
|
||||
" map F <Plug>Sneak_F
|
||||
" map t <Plug>Sneak_t
|
||||
" map T <Plug>Sneak_T
|
||||
|
||||
|
||||
" Useful info
|
||||
|
||||
" s<Enter> | Repeat the last Sneak.
|
||||
" S<Enter> | Repeat the last Sneak, in reverse direction.
|
||||
|
||||
" silent! call repeat#set("\<Plug>Sneak_s", v:count)
|
||||
" silent! call repeat#set("\<Plug>Sneak_S", v:count)
|
|
@ -1,39 +0,0 @@
|
|||
|
||||
let g:startify_custom_header = [
|
||||
\ ' _ ___ ________ __ ',
|
||||
\ ' / | / / | / / ____/___ ____/ /__ ',
|
||||
\ ' / |/ /| | / / / / __ \/ __ / _ \',
|
||||
\ ' / /| / | |/ / /___/ /_/ / /_/ / __/',
|
||||
\ ' /_/ |_/ |___/\____/\____/\__,_/\___/ ',
|
||||
\]
|
||||
|
||||
let g:startify_session_dir = '~/.config/nvim/session'
|
||||
|
||||
|
||||
let g:startify_lists = [
|
||||
\ { 'type': 'files', 'header': [' Files'] },
|
||||
\ { 'type': 'sessions', 'header': [' Sessions'] },
|
||||
\ { 'type': 'bookmarks', 'header': [' Bookmarks'] },
|
||||
\ ]
|
||||
" \ { 'type': 'dir', 'header': [' Current Directory '. getcwd()] },
|
||||
|
||||
|
||||
let g:startify_session_autoload = 1
|
||||
let g:startify_session_delete_buffers = 1
|
||||
let g:startify_change_to_vcs_root = 1
|
||||
let g:startify_fortune_use_unicode = 1
|
||||
let g:startify_session_persistence = 1
|
||||
|
||||
let g:webdevicons_enable_startify = 1
|
||||
|
||||
function! StartifyEntryFormat()
|
||||
return 'WebDevIconsGetFileTypeSymbol(absolute_path) ." ". entry_path'
|
||||
endfunction
|
||||
|
||||
let g:startify_bookmarks = [
|
||||
\ { 'b': '~/Blog' },
|
||||
\ { 'i': '~/.config/nvim/init.vim' },
|
||||
\ { 'z': '~/.zshrc' },
|
||||
\ ]
|
||||
|
||||
let g:startify_enable_special = 0
|
|
@ -1,2 +0,0 @@
|
|||
let g:tagalong_filetypes = ['html', 'xml', 'jsx', 'eruby', 'ejs', 'eco', 'php', 'htmldjango', 'javascriptreact', 'typescriptreact', 'javascript']
|
||||
let g:tagalong_verbose = 1
|
|
@ -1,10 +0,0 @@
|
|||
function! Comment()
|
||||
if (mode() == "n" )
|
||||
execute "Commentary"
|
||||
else
|
||||
execute "'<,'>Commentary"
|
||||
endif
|
||||
endfunction
|
||||
vnoremap <silent> <space>/ :call Comment()
|
||||
autocmd! BufRead,BufNewFile *.{jsx,jx,js} setlocal filetype=javascript.jsx
|
||||
autocmd FileType javascript.jsx setlocal commentstring={/*\ %s\ */}
|
|
@ -1 +0,0 @@
|
|||
let g:rooter_silent_chdir = 1
|
|
@ -1,61 +0,0 @@
|
|||
" VimWiki
|
||||
let g:vimwiki_key_mappings =
|
||||
\ {
|
||||
\ 'all_maps': 1,
|
||||
\ 'global': 1,
|
||||
\ 'headers': 1,
|
||||
\ 'text_objs': 1,
|
||||
\ 'table_format': 1,
|
||||
\ 'table_mappings': 1,
|
||||
\ 'lists': 1,
|
||||
\ 'links': 1,
|
||||
\ 'html': 1,
|
||||
\ 'mouse': 1,
|
||||
\ }
|
||||
|
||||
" Filetypes enabled for
|
||||
let g:vimwiki_filetypes = ['markdown']
|
||||
|
||||
let g:vimwiki_list = [{'path': '~/.config/nvim/wiki',
|
||||
\ 'syntax': 'markdown', 'ext': '.md', 'exclude_files': ['**/README.md', '**/Readme.md'] }]
|
||||
|
||||
" let g:vimwiki_auto_header = 0
|
||||
" let g:vimwiki_markdown_header_style = 1
|
||||
" let g:vimwiki_tags_header_level = 1
|
||||
" let g:vimwiki_tags_header = 'Generated Tags'
|
||||
" let g:vimwiki_links_header_level = 1
|
||||
" let g:vimwiki_links_header = 'Generated Links'
|
||||
" let g:vimwiki_auto_chdir = 0
|
||||
" let g:vimwiki_map_prefix = '<Leader>w'
|
||||
" let g:vimwiki_toc_link_format = 0
|
||||
" let g:vimwiki_toc_header_level = 1
|
||||
" let g:vimwiki_toc_header = 'Contents'
|
||||
" let g:vimwiki_autowriteall = 1
|
||||
" let g:vimwiki_conceal_pre = 0
|
||||
" let g:vimwiki_conceal_onechar_markers = 1
|
||||
" let g:vimwiki_conceallevel = 2
|
||||
" let g:vimwiki_user_htmls = ''
|
||||
" let g:vimwiki_valid_html_tags = 'b,i,s,u,sub,sup,kbd,br,hr'
|
||||
" let g:vimwiki_html_header_numbering_sym = ''
|
||||
" let g:vimwiki_html_header_numbering = 0
|
||||
" let g:vimwiki_dir_link = ''
|
||||
" let g:vimwiki_markdown_link_ext = 0
|
||||
" let g:vimwiki_create_link = 1
|
||||
" let g:vimwiki_use_calendar = 1
|
||||
" let g:vimwiki_text_ignore_newline = 1
|
||||
" let g:vimwiki_list_ignore_newline = 1
|
||||
" let g:vimwiki_folding = ''
|
||||
" let g:vimwiki_listsym_rejected = '✗'
|
||||
" let g:vimwiki_listsyms = '✗○◐●✓'
|
||||
" let g:vimwiki_global_ext = 1
|
||||
" let g:vimwiki_hl_cb_checked = 0
|
||||
|
||||
|
||||
|
||||
|
||||
let g:vimwiki_diary_months = {
|
||||
\ 1: 'January', 2: 'February', 3: 'March',
|
||||
\ 4: 'April', 5: 'May', 6: 'June',
|
||||
\ 7: 'July', 8: 'August', 9: 'September',
|
||||
\ 10: 'October', 11: 'November', 12: 'December'
|
||||
\ }
|
|
@ -1,4 +0,0 @@
|
|||
" Experimental
|
||||
let g:vimspector_base_dir=expand( '$HOME/.config/nvim/vimspector-config' )
|
||||
let g:vimspector_enable_mappings='VISUAL_STUDIO'
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
" let g:vista_default_executive = 'coc'
|
||||
let g:vista_fzf_preview = ['right:50%']
|
||||
|
||||
let g:vista#renderer#enable_icon = 1
|
||||
|
||||
let g:vista#renderer#icons = {
|
||||
\ "function": "\uf794",
|
||||
\ "variable": "\uf71b",
|
||||
\ }
|
|
@ -1 +0,0 @@
|
|||
let g:windowswap_map_keys = 0 "prevent default bindings
|
|
@ -1,54 +0,0 @@
|
|||
let g:xtabline_settings = {}
|
||||
|
||||
let g:xtabline_settings.enable_mappings = 0
|
||||
|
||||
let g:xtabline_settings.tabline_modes = ['buffers', 'tabs']
|
||||
|
||||
let g:xtabline_settings.enable_persistance = 0
|
||||
|
||||
" let g:xtabline_settings.last_open_first = 1
|
||||
let g:xtabline_lazy = 1
|
||||
|
||||
let g:xtabline_settings.show_right_corner = 0
|
||||
|
||||
let g:xtabline_settings.indicators = {
|
||||
\ 'modified': '+',
|
||||
\ 'pinned': '[📌]',
|
||||
\}
|
||||
" \ 'modified': '●',
|
||||
|
||||
let g:xtabline_settings.icons = {
|
||||
\'pin': '📌',
|
||||
\'star': '*',
|
||||
\'book': '📖',
|
||||
\'lock': '🔒',
|
||||
\'hammer': '🔨',
|
||||
\'tick': '✔',
|
||||
\'cross': '✖',
|
||||
\'warning': '⚠',
|
||||
\'menu': '☰',
|
||||
\'apple': '🍎',
|
||||
\'linux': '🐧',
|
||||
\'windows': '⌘',
|
||||
\'git': '',
|
||||
\'palette': '🎨',
|
||||
\'lens': '🔍',
|
||||
\'flag': '🏁',
|
||||
\}
|
||||
|
||||
" let g:which_key_map.T = {
|
||||
" \ 'name' : '+tabline' ,
|
||||
" \ 'b' : [':XTabListBuffers' , 'list buffers'],
|
||||
" \ 'd' : [':XTabCloseBuffer' , 'close buffer'],
|
||||
" \ 'D' : [':XTabDeleteTab' , 'close tab'],
|
||||
" \ 'h' : [':XTabHideBuffer' , 'hide buffer'],
|
||||
" \ 'i' : [':XTabInfo' , 'info'],
|
||||
" \ 'l' : [':XTabLock' , 'lock tab'],
|
||||
" \ 'm' : [':XTabMode' , 'toggle mode'],
|
||||
" \ 'n' : [':tabNext' , 'next tab'],
|
||||
" \ 'N' : [':XTabMoveBufferNext' , 'buffer->'],
|
||||
" \ 't' : [':tabnew' , 'new tab'],
|
||||
" \ 'p' : [':tabprevious' , 'prev tab'],
|
||||
" \ 'P' : [':XTabMoveBufferPrev' , '<-buffer'],
|
||||
" \ 'x' : [':XTabPinBuffer' , 'pin buffer'],
|
||||
" \ }
|
|
@ -1,43 +0,0 @@
|
|||
lua
|
||||
LSP
|
||||
neovim
|
||||
png
|
||||
CoC
|
||||
Intellisense
|
||||
VSCode
|
||||
Nerdfont
|
||||
API
|
||||
blog
|
||||
plugins
|
||||
config
|
||||
idc
|
||||
repo
|
||||
nvim
|
||||
lspconfig
|
||||
IDE
|
||||
Neovim's
|
||||
Ubuntu
|
||||
VIMRUNTIME
|
||||
lsp
|
||||
LuaJIT
|
||||
sumneko
|
||||
unix
|
||||
macOS
|
||||
wiki
|
||||
github
|
||||
https
|
||||
dir
|
||||
efm
|
||||
LuaRocks
|
||||
LuaFormatter
|
||||
SDKMAN
|
||||
sdkman
|
||||
Gradle
|
||||
JVM
|
||||
java
|
||||
gradle
|
||||
kotlin
|
||||
springboot
|
||||
jdtls
|
||||
plugin
|
||||
linux
|
Binary file not shown.
|
@ -1,11 +0,0 @@
|
|||
npm i -g pyright
|
||||
npm i -g bash-language-server
|
||||
npm install -g vscode-css-languageserver-bin
|
||||
npm install -g dockerfile-language-server-nodejs
|
||||
npm install -g graphql-language-service-cli
|
||||
npm install -g vscode-html-languageserver-bin
|
||||
npm install -g typescript typescript-language-server
|
||||
npm install -g vscode-json-languageserver
|
||||
npm install -g vim-language-server
|
||||
npm install -g yaml-language-server
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
cd ~/.config/nvim
|
||||
git clone https://github.com/eclipse/eclipse.jdt.ls.git
|
||||
cd eclipse.jdt.ls
|
||||
./mvnw clean verify
|
||||
cd ~/.config/nvim
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
cd ~
|
||||
sudo rm -r neovim
|
||||
git clone https://github.com/neovim/neovim
|
||||
cd neovim
|
||||
sudo make CMAKE_BUILD_TYPE=Release install
|
||||
cd ~
|
||||
sudo rm -r neovim
|
|
@ -1,24 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# NOTE:
|
||||
# This doesn't work as is on Windows. You'll need to create an equivalent `.bat` file instead
|
||||
#
|
||||
# NOTE:
|
||||
# If you're not using Linux you'll need to adjust the `-configuration` option
|
||||
# to point to the `config_mac' or `config_win` folders depending on your system.
|
||||
|
||||
JAR="$HOME/.config/nvim/eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository/plugins/org.eclipse.equinox.launcher_*.jar"
|
||||
GRADLE_HOME=$HOME/gradle $HOME/.sdkman/candidates/java/current/bin/java \
|
||||
-Declipse.application=org.eclipse.jdt.ls.core.id1 \
|
||||
-Dosgi.bundles.defaultStartLevel=4 \
|
||||
-Declipse.product=org.eclipse.jdt.ls.core.product \
|
||||
-Dlog.protocol=true \
|
||||
-Dlog.level=ALL \
|
||||
-Xms1g \
|
||||
-Xmx2G \
|
||||
-jar $(echo "$JAR") \
|
||||
-configuration "$HOME/.config/nvim/eclipse.jdt.ls/org.eclipse.jdt.ls.product/target/repository/config_linux" \
|
||||
-data "${1:-$HOME/workspace}" \
|
||||
--add-modules=ALL-SYSTEM \
|
||||
--add-opens java.base/java.util=ALL-UNNAMED \
|
||||
--add-opens java.base/java.lang=ALL-UNNAMED
|
Binary file not shown.
Before Width: | Height: | Size: 838 KiB |
Binary file not shown.
Before Width: | Height: | Size: 255 KiB |
|
@ -1,3 +0,0 @@
|
|||
" DO NOT REMOVE THIS IS USED FOR INSTALL SCRIPT
|
||||
" Just pull in plugins for install
|
||||
source $HOME/.config/nvim/vim-plug/plugins.vim
|
|
@ -1,161 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o nounset # error when referencing undefined variable
|
||||
set -o errexit # exit when command fails
|
||||
|
||||
installnodemac() { \
|
||||
brew install node
|
||||
}
|
||||
|
||||
installnodeubuntu() { \
|
||||
sudo apt install nodejs
|
||||
sudo apt install npm
|
||||
}
|
||||
|
||||
installnodearch() { \
|
||||
sudo pacman -S nodejs
|
||||
sudo pacman -S npm
|
||||
}
|
||||
|
||||
installnode() { \
|
||||
echo "Installing node..."
|
||||
[ "$(uname)" == "Darwin" ] && installnodemac
|
||||
[ -n "$(uname -a | grep Ubuntu)" ] && installnodeubuntu
|
||||
[ -f "/etc/arch-release" ] && installnodearch
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
sudo npm i -g neovim
|
||||
}
|
||||
|
||||
installpiponmac() { \
|
||||
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||
python3 get-pip.py
|
||||
rm get-pip.py
|
||||
}
|
||||
|
||||
installpiponubuntu() { \
|
||||
sudo apt install python3-pip > /dev/null
|
||||
}
|
||||
|
||||
installpiponarch() { \
|
||||
pacman -S python-pip
|
||||
}
|
||||
|
||||
installpip() { \
|
||||
echo "Installing pip..."
|
||||
[ "$(uname)" == "Darwin" ] && installpiponmac
|
||||
[ -n "$(uname -a | grep Ubuntu)" ] && installpiponubuntu
|
||||
[ -f "/etc/arch-release" ] && installpiponarch
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
}
|
||||
|
||||
installpynvim() { \
|
||||
echo "Installing pynvim..."
|
||||
pip3 install pynvim
|
||||
}
|
||||
|
||||
installcocextensions() { \
|
||||
# Install extensions
|
||||
mkdir -p ~/.config/coc/extensions
|
||||
cd ~/.config/coc/extensions
|
||||
[ ! -f package.json ] && echo '{"dependencies":{}}'> package.json
|
||||
# Change extension names to the extensions you need
|
||||
# sudo npm install coc-explorer coc-snippets coc-json coc-actions --global-style --ignore-scripts --no-bin-links --no-package-lock --only=prod
|
||||
npm install coc-explorer coc-snippets coc-json coc-actions --global-style --ignore-scripts --no-bin-links --no-package-lock --only=prod
|
||||
}
|
||||
|
||||
cloneconfig() { \
|
||||
echo "Cloning Nvim Mach 2 configuration"
|
||||
git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
|
||||
}
|
||||
|
||||
moveoldnvim() { \
|
||||
echo "Moving your config to nvim.old"
|
||||
mv $HOME/.config/nvim $HOME/.config/nvim.old
|
||||
}
|
||||
|
||||
installplugins() { \
|
||||
mv $HOME/.config/nvim/init.vim $HOME/.config/nvim/init.vim.tmp
|
||||
mv $HOME/.config/nvim/utils/init.vim $HOME/.config/nvim/init.vim
|
||||
echo "Installing plugins..."
|
||||
nvim --headless +PlugInstall +qall > /dev/null 2>&1
|
||||
mv $HOME/.config/nvim/init.vim $HOME/.config/nvim/utils/init.vim
|
||||
mv $HOME/.config/nvim/init.vim.tmp $HOME/.config/nvim/init.vim
|
||||
}
|
||||
|
||||
asktoinstallnode() { \
|
||||
echo "node not found"
|
||||
echo -n "Would you like to install node now (y/n)? "
|
||||
read answer
|
||||
[ "$answer" != "${answer#[Yy]}" ] && installnode && installcocextensions
|
||||
}
|
||||
|
||||
asktoinstallpip() { \
|
||||
# echo "pip not found"
|
||||
# echo -n "Would you like to install pip now (y/n)? "
|
||||
# read answer
|
||||
# [ "$answer" != "${answer#[Yy]}" ] && installpip
|
||||
echo "Please install pip3 before continuing with install"
|
||||
exit
|
||||
}
|
||||
|
||||
installonmac() { \
|
||||
brew install ripgrep fzf ranger
|
||||
}
|
||||
|
||||
pipinstallueberzug() { \
|
||||
which pip3 > /dev/null && pip3 install ueberzug || echo "Not installing ueberzug pip not found"
|
||||
}
|
||||
|
||||
installonubuntu() { \
|
||||
sudo apt install ripgrep fzf ranger
|
||||
sudo apt install libjpeg8-dev zlib1g-dev python-dev python3-dev libxtst-dev
|
||||
pip3 install ueberzug
|
||||
pip3 install neovim-remote
|
||||
}
|
||||
|
||||
|
||||
installonarch() { \
|
||||
sudo pacman -S install ripgrep fzf ranger
|
||||
which yay > /dev/null && yay -S python-ueberzug-git || pipinstallueberzug
|
||||
pip3 install neovim-remote
|
||||
}
|
||||
|
||||
installextrapackages() { \
|
||||
[ "$(uname)" == "Darwin" ] && installonmac
|
||||
[ -n "$(uname -a | grep Ubuntu)" ] && installonubuntu
|
||||
[ -f "/etc/arch-release" ] && installonarch
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
}
|
||||
|
||||
# Welcome
|
||||
echo 'Installing Nvim Mach 2'
|
||||
|
||||
# install pip
|
||||
which pip3 > /dev/null && echo "pip installed, moving on..." || asktoinstallpip
|
||||
|
||||
# install node and neovim support
|
||||
which node > /dev/null && echo "node installed, moving on..." || asktoinstallnode
|
||||
|
||||
|
||||
# install pynvim
|
||||
pip3 list | grep pynvim > /dev/null && echo "pynvim installed, moving on..." || installpynvim
|
||||
|
||||
# move old nvim directory if it exists
|
||||
[ -d "$HOME/.config/nvim" ] && moveoldnvim
|
||||
|
||||
# clone config down
|
||||
cloneconfig
|
||||
|
||||
# echo "Nvim Mach 2 is better with at least ripgrep, ueberzug and ranger"
|
||||
# echo -n "Would you like to install these now? (y/n)? "
|
||||
# read answer
|
||||
# [ "$answer" != "${answer#[Yy]}" ] && installextrapackages || echo "not installing extra packages"
|
||||
|
||||
# install plugins
|
||||
which nvim > /dev/null && installplugins
|
||||
|
||||
installcocextensions
|
||||
|
||||
echo "I recommend you also install and activate a font from here: https://github.com/ryanoasis/nerd-fonts"
|
||||
|
||||
echo "I also recommend you add 'set preview_images_method ueberzug' to ~/.config/ranger/rc.conf"
|
171
utils/install.sh
171
utils/install.sh
|
@ -1,171 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o nounset # error when referencing undefined variable
|
||||
set -o errexit # exit when command fails
|
||||
|
||||
installnodemac() { \
|
||||
brew install lua
|
||||
brew install node
|
||||
brew install yarn
|
||||
}
|
||||
|
||||
installnodeubuntu() { \
|
||||
sudo apt install nodejs
|
||||
sudo apt install npm
|
||||
}
|
||||
|
||||
installnodearch() { \
|
||||
sudo pacman -S nodejs
|
||||
sudo pacman -S npm
|
||||
}
|
||||
|
||||
installnode() { \
|
||||
echo "Installing node..."
|
||||
[ "$(uname)" == "Darwin" ] && installnodemac
|
||||
[ -n "$(uname -a | grep Ubuntu)" ] && installnodeubuntu
|
||||
[ -f "/etc/arch-release" ] && installnodearch
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
sudo npm i -g neovim
|
||||
}
|
||||
|
||||
installpiponmac() { \
|
||||
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
|
||||
python3 get-pip.py
|
||||
rm get-pip.py
|
||||
}
|
||||
|
||||
installpiponubuntu() { \
|
||||
sudo apt install python3-pip > /dev/null
|
||||
}
|
||||
|
||||
installpiponarch() { \
|
||||
pacman -S python-pip
|
||||
}
|
||||
|
||||
installpip() { \
|
||||
echo "Installing pip..."
|
||||
[ "$(uname)" == "Darwin" ] && installpiponmac
|
||||
[ -n "$(uname -a | grep Ubuntu)" ] && installpiponubuntu
|
||||
[ -f "/etc/arch-release" ] && installpiponarch
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
}
|
||||
|
||||
installpynvim() { \
|
||||
echo "Installing pynvim..."
|
||||
pip3 install pynvim --user
|
||||
}
|
||||
|
||||
installcocextensions() { \
|
||||
# Install extensions
|
||||
mkdir -p ~/.config/coc/extensions
|
||||
cd ~/.config/coc/extensions
|
||||
[ ! -f package.json ] && echo '{"dependencies":{}}'> package.json
|
||||
# Change extension names to the extensions you need
|
||||
# sudo npm install coc-explorer coc-snippets coc-json coc-actions --global-style --ignore-scripts --no-bin-links --no-package-lock --only=prod
|
||||
sudo npm install coc-explorer coc-snippets coc-json coc-actions --global-style --ignore-scripts --no-bin-links --no-package-lock --only=prod
|
||||
}
|
||||
|
||||
cloneconfig() { \
|
||||
echo "Cloning Nvim Mach 2 configuration"
|
||||
git clone https://github.com/ChristianChiarulli/nvim.git ~/.config/nvim
|
||||
}
|
||||
|
||||
moveoldnvim() { \
|
||||
echo "Moving your config to nvim.old"
|
||||
mv $HOME/.config/nvim $HOME/.config/nvim.old
|
||||
}
|
||||
|
||||
moveoldcoc() { \
|
||||
echo "Moving your coc to coc.old"
|
||||
mv $HOME/.config/coc $HOME/.config/coc.old
|
||||
}
|
||||
|
||||
installplugins() { \
|
||||
mv $HOME/.config/nvim/init.vim $HOME/.config/nvim/init.vim.tmp
|
||||
mv $HOME/.config/nvim/utils/init.vim $HOME/.config/nvim/init.vim
|
||||
echo "Installing plugins..."
|
||||
nvim --headless +PlugInstall +qall > /dev/null 2>&1
|
||||
mv $HOME/.config/nvim/init.vim $HOME/.config/nvim/utils/init.vim
|
||||
mv $HOME/.config/nvim/init.vim.tmp $HOME/.config/nvim/init.vim
|
||||
}
|
||||
|
||||
asktoinstallnode() { \
|
||||
echo "node not found"
|
||||
echo -n "Would you like to install node now (y/n)? "
|
||||
read answer
|
||||
[ "$answer" != "${answer#[Yy]}" ] && installnode && installcocextensions
|
||||
}
|
||||
|
||||
asktoinstallpip() { \
|
||||
# echo "pip not found"
|
||||
# echo -n "Would you like to install pip now (y/n)? "
|
||||
# read answer
|
||||
# [ "$answer" != "${answer#[Yy]}" ] && installpip
|
||||
echo "Please install pip3 before continuing with install"
|
||||
exit
|
||||
}
|
||||
|
||||
installonmac() { \
|
||||
brew install ripgrep fzf ranger
|
||||
}
|
||||
|
||||
pipinstallueberzug() { \
|
||||
which pip3 > /dev/null && pip3 install ueberzug || echo "Not installing ueberzug pip not found"
|
||||
}
|
||||
|
||||
installonubuntu() { \
|
||||
sudo apt install ripgrep fzf ranger
|
||||
sudo apt install libjpeg8-dev zlib1g-dev python-dev python3-dev libxtst-dev
|
||||
pip3 install ueberzug
|
||||
pip3 install neovim-remote
|
||||
}
|
||||
|
||||
|
||||
installonarch() { \
|
||||
sudo pacman -S install ripgrep fzf ranger
|
||||
which yay > /dev/null && yay -S python-ueberzug-git || pipinstallueberzug
|
||||
pip3 install neovim-remote
|
||||
}
|
||||
|
||||
installextrapackages() { \
|
||||
[ "$(uname)" == "Darwin" ] && installonmac
|
||||
[ -n "$(uname -a | grep Ubuntu)" ] && installonubuntu
|
||||
[ -f "/etc/arch-release" ] && installonarch
|
||||
[ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ] && echo "Windows not currently supported"
|
||||
}
|
||||
|
||||
# Welcome
|
||||
echo 'Installing Nvim Mach 2'
|
||||
|
||||
# install pip
|
||||
which pip3 > /dev/null && echo "pip installed, moving on..." || asktoinstallpip
|
||||
|
||||
# install node and neovim support
|
||||
which node > /dev/null && echo "node installed, moving on..." || asktoinstallnode
|
||||
|
||||
|
||||
# install pynvim
|
||||
pip3 list | grep pynvim > /dev/null && echo "pynvim installed, moving on..." || installpynvim
|
||||
|
||||
# move old nvim directory if it exists
|
||||
[ -d "$HOME/.config/nvim" ] && moveoldnvim
|
||||
|
||||
# move old nvim directory if it exists
|
||||
[ -d "$HOME/.config/coc" ] && moveoldcoc
|
||||
|
||||
# clone config down
|
||||
cloneconfig
|
||||
|
||||
# echo "Nvim Mach 2 is better with at least ripgrep, ueberzug and ranger"
|
||||
# echo -n "Would you like to install these now? (y/n)? "
|
||||
# read answer
|
||||
# [ "$answer" != "${answer#[Yy]}" ] && installextrapackages || echo "not installing extra packages"
|
||||
|
||||
# install plugins
|
||||
which nvim > /dev/null && installplugins
|
||||
|
||||
installcocextensions
|
||||
|
||||
echo "I recommend you also install and activate a font from here: https://github.com/ryanoasis/nerd-fonts"
|
||||
|
||||
echo "I also recommend you add 'set preview_images_method ueberzug' to ~/.config/ranger/rc.conf"
|
|
@ -1,10 +0,0 @@
|
|||
snippet meta(data)? "Markdown metadata front matter" br
|
||||
---
|
||||
title: $1
|
||||
date: "`!v strftime("%Y-%m-%d")`"
|
||||
image: "$2"
|
||||
author: "$3"
|
||||
tags: [$4]
|
||||
---
|
||||
endsnippet
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
|
||||
[file-compile]
|
||||
command:java=javac "$(VIM_FILEPATH)"
|
||||
output=terminal
|
||||
cwd=$(VIM_FILEDIR)
|
||||
|
||||
[file-run]
|
||||
command="$(VIM_FILEPATH)"
|
||||
command:c,cpp="$(VIM_PATHNOEXT)"
|
||||
command:java="$(VIM_PATHNOEXT)"
|
||||
command:go="$(VIM_PATHNOEXT)"
|
||||
command:python=python "$(VIM_FILENAME)"
|
||||
command:make=make -f "$(VIM_FILENAME)" run
|
||||
command:emake=emake -e "$(VIM_FILENAME)"
|
||||
command:javascript=node "$(VIM_FILENAME)"
|
||||
command:sh=sh "$(VIM_FILENAME)"
|
||||
command:lua=lua "$(VIM_FILENAME)"
|
||||
command:perl=perl "$(VIM_FILENAME)"
|
||||
command:ruby=ruby "$(VIM_FILENAME)"
|
||||
command:zsh=zsh "$(VIM_FILENAME)"
|
||||
command:bash=bash "$(VIM_FILENAME)"
|
||||
command:fish=fish "$(VIM_FILENAME)"
|
||||
command:php=php "$(VIM_FILENAME)"
|
||||
command:erlang=escript "$(VIM_FILENAME)"
|
||||
command:ps1=powershell -file "$(VIM_FILENAME)"
|
||||
command:scala=scala "$(VIM_FILENAME)"
|
||||
command:haskell=ghci "$(VIM_FILENAME)"
|
||||
command:applescript=osascript "$(VIM_FILENAME)"
|
||||
command:vim=:source %
|
||||
output=terminal
|
||||
cwd=$(VIM_FILEDIR)
|
||||
save=2
|
||||
|
||||
[project-run]
|
||||
command:javascript,css,jsx=npm start
|
||||
output=terminal
|
||||
cwd=$(VIM_FILEDIR)
|
||||
save=2
|
||||
|
||||
[gatsby-run]
|
||||
command=gatsby develop
|
||||
output=terminal
|
||||
cwd=$(VIM_FILEDIR)
|
||||
save=2
|
|
@ -1,171 +0,0 @@
|
|||
[
|
||||
{
|
||||
"key": "shift+ctrl+e",
|
||||
"command": "actions.findWithSelection"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+e",
|
||||
"command": "-actions.findWithSelection"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+e",
|
||||
"command": "workbench.view.explorer"
|
||||
},
|
||||
{
|
||||
"key": "shift+ctrl+e",
|
||||
"command": "-workbench.view.explorer"
|
||||
},
|
||||
{
|
||||
"key": "r",
|
||||
"command": "renameFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "enter",
|
||||
"command": "-renameFile",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "j",
|
||||
"command": "list.focusDown",
|
||||
"when": "listFocus && explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "k",
|
||||
"command": "list.focusUp",
|
||||
"when": "listFocus && explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "selectNextSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "selectPrevSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "workbench.action.quickOpenNavigateNext",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "tab",
|
||||
"command": "selectNextSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "tab",
|
||||
"command": "workbench.action.quickOpenNavigateNext",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "shit+tab",
|
||||
"command": "selectPrevSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "shift+tab",
|
||||
"command": "selectPrevSuggestion",
|
||||
"when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible"
|
||||
},
|
||||
{
|
||||
"key": "shift+tab",
|
||||
"command": "workbench.action.quickOpenNavigatePrevious",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "workbench.action.quickOpenNavigatePrevious",
|
||||
"when": "inQuickOpen"
|
||||
},
|
||||
{
|
||||
"key": "enter",
|
||||
"command": "list.select",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus"
|
||||
},
|
||||
{
|
||||
"key": "l",
|
||||
"command": "list.select",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "o",
|
||||
"command": "list.toggleExpand",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "h",
|
||||
"command": "list.collapse",
|
||||
"when": "explorerViewletVisible && filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "a",
|
||||
"command": "explorer.newFile",
|
||||
"when": "filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+a",
|
||||
"command": "explorer.newFolder",
|
||||
"when": "filesExplorerFocus && !inputFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+;",
|
||||
"command": "insertPrevSuggestion",
|
||||
"when": "hasOtherSuggestions && textInputFocus && textInputFocus && !inSnippetMode && !suggestWidgetVisible && config.editor.tabCompletion == 'on'"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+l",
|
||||
"when": "sideBarFocus",
|
||||
"command": "workbench.action.focusActiveEditorGroup"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k",
|
||||
"command": "workbench.action.focusActiveEditorGroup",
|
||||
"when": "terminalFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+t",
|
||||
"command": "workbench.action.terminal.focus",
|
||||
"when": "!terminalFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "-editor.action.insertLineAfter",
|
||||
"when": "editorTextFocus && neovim.ctrlKeysInsert && !neovim.recording && neovim.mode == 'insert'"
|
||||
},
|
||||
{
|
||||
"key": "alt+j",
|
||||
"command": "workbench.action.terminal.focus",
|
||||
"when": "!terminalFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+shift+t",
|
||||
"command": "workbench.action.togglePanel"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+j",
|
||||
"command": "-workbench.action.togglePanel"
|
||||
},
|
||||
{
|
||||
"key": "shift+k",
|
||||
"command": "editor.action.showHover",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+k ctrl+i",
|
||||
"command": "-editor.action.showHover",
|
||||
"when": "editorTextFocus"
|
||||
},
|
||||
{
|
||||
"key": "shift+tab",
|
||||
"command": "-acceptAlternativeSelectedSuggestion",
|
||||
"when": "suggestWidgetVisible && textInputFocus && textInputFocus"
|
||||
},
|
||||
{
|
||||
"key": "ctrl+f",
|
||||
"command": "-vscode-neovim.ctrl-f",
|
||||
"when": "editorTextFocus && neovim.ctrlKeysNormal && neovim.init && neovim.mode != 'insert'"
|
||||
}
|
||||
]
|
File diff suppressed because it is too large
Load diff
|
@ -1,85 +0,0 @@
|
|||
" Plugin Graveyard
|
||||
" Rainbow brackets
|
||||
" Plug 'luochen1990/rainbow'
|
||||
" Async Linting Engine
|
||||
" TODO make sure to add ale config before plugin
|
||||
" Plug 'dense-analysis/ale'
|
||||
" Better Whitespace
|
||||
" Plug 'ntpeters/vim-better-whitespace'
|
||||
" Multiple Cursors
|
||||
" TODO add this back in change from C-n
|
||||
" Plug 'mg979/vim-visual-multi', {'branch': 'master'}
|
||||
" Plug 'yuezk/vim-js'
|
||||
" Plug 'maxmellon/vim-jsx-pretty'
|
||||
" Plug 'jelera/vim-javascript-syntax'
|
||||
" Debug
|
||||
" Plug 'mfussenegger/nvim-dap'
|
||||
" Plug 'nvim-dap-virtual-text'
|
||||
" Sneak
|
||||
" Plug 'justinmk/vim-sneak'
|
||||
" Minimap
|
||||
" Plug 'wfxr/minimap.vim'
|
||||
" jsx syntax support
|
||||
" Typescript syntax
|
||||
" Plug 'HerringtonDarkholme/yats.vim'
|
||||
" Multiple Cursors
|
||||
" Plug 'terryma/vim-multiple-cursors'
|
||||
" Plug 'kaicataldo/material.vim'
|
||||
" Plug 'tomasiser/vim-code-dark'
|
||||
" Plug 'mg979/vim-xtabline'
|
||||
" Files
|
||||
" Plug 'tpope/vim-eunuch'
|
||||
" Vim Wiki
|
||||
" Plug 'https://github.com/vimwiki/vimwiki.git'
|
||||
" Better Comments
|
||||
" Plug 'jbgutierrez/vim-better-comments'
|
||||
" Echo doc
|
||||
" Plug 'Shougo/echodoc.vim'
|
||||
" Plug 'hardcoreplayers/spaceline.vim'
|
||||
" Plug 'vim-airline/vim-airline'
|
||||
" Plug 'vim-airline/vim-airline-themes'
|
||||
" Ranger
|
||||
" Plug 'francoiscabrol/ranger.vim'
|
||||
" Plug 'rbgrouleff/bclose.vim'
|
||||
" Making stuff
|
||||
" Plug 'neomake/neomake'
|
||||
" Plug 'mhinz/vim-signify'
|
||||
" Plug 'preservim/nerdcommenter'
|
||||
" Plug 'atishay/far.vim'
|
||||
" Plug 'romgrk/lib.kom'
|
||||
" Plug 'brooth/far.vim'
|
||||
" Debugging
|
||||
" Repeat stuff
|
||||
" Plug 'tpope/vim-repeat'
|
||||
" Convert binary, hex, etc..
|
||||
" Plug 'glts/vim-radical'
|
||||
" highlight all matches under cursor
|
||||
" Plug 'RRethy/vim-illuminate'
|
||||
" Surround
|
||||
" Plug 'tpope/vim-surround'
|
||||
" auto set indent settings
|
||||
" Plug 'tpope/vim-sleuth'
|
||||
" FZF
|
||||
" Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
||||
" Plug 'yuki-ycino/fzf-preview.vim', { 'branch': 'release', 'do': ':UpdateRemotePlugins' }
|
||||
" Plug 'junegunn/fzf.vim'
|
||||
" undo time travel
|
||||
" Plug 'mbbill/undotree'
|
||||
" " async tasks
|
||||
" Plug 'skywind3000/asynctasks.vim'
|
||||
" Plug 'skywind3000/asyncrun.vim'
|
||||
" CoC
|
||||
" Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||
" Swap windows
|
||||
" Plug 'wesQ3/vim-windowswap'
|
||||
" Debugging
|
||||
" Plug 'puremourning/vimspector'
|
||||
" Plug 'szw/vim-maximizer'
|
||||
" Treesitter
|
||||
" Plug 'nvim-treesitter/playground'
|
||||
" Plug 'nvim-treesitter/nvim-treesitter-refactor'
|
||||
" Plug 'nvim-treesitter/nvim-treesitter-textobjects'
|
||||
" Plug 'romgrk/nvim-treesitter-context'
|
||||
" Neovim in Browser
|
||||
" Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(1) } }
|
||||
" Plug 'glepnir/indent-guides.nvim'
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue