Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c2027c14b | ||
|
|
8bfdd6e20c | ||
|
|
abda95b98f | ||
|
|
fc535b6688 | ||
|
|
1a1963232e
|
||
|
|
c867d55228 | ||
|
|
11a5bc1266
|
||
|
|
7e68bc3391
|
||
|
|
5c980a8b57
|
||
|
|
17a2b4d25b | ||
|
|
58fc3e53ac
|
||
|
|
7f9c380eaa
|
||
|
|
859cfc3793 | ||
|
|
d43128c2d0
|
||
|
|
2153591cf5 | ||
|
|
c28e6c3e59
|
||
|
|
93d8f9a28d
|
||
|
|
1b6a354c86
|
||
|
|
cdb72cff4d
|
||
|
|
688eec7498
|
||
|
|
0058de2a77
|
||
|
|
8d6103ec07
|
||
|
|
2e499ca1cb
|
||
|
|
0990818e07
|
||
|
|
68ba1e3b87
|
||
|
|
06d86cf46e
|
||
|
|
cfd451eae1
|
||
|
|
fbb6655722
|
||
|
|
8feb5c8415
|
||
|
|
d448e591d8
|
||
|
|
21ec297431
|
||
|
|
444b5739bd
|
@@ -1,5 +0,0 @@
|
||||
default_units = true
|
||||
warnings_as_errors = false
|
||||
recipe_ref_check = true
|
||||
max_depth = 10
|
||||
extensions = "all"
|
||||
@@ -1,7 +0,0 @@
|
||||
[tool.commitizen]
|
||||
name = "cz_gitmoji"
|
||||
tag_format = "$version"
|
||||
version_scheme = "semver"
|
||||
version = "0.0.1"
|
||||
update_changelog_on_bump = true
|
||||
major_version_zero = true
|
||||
@@ -1,20 +1,190 @@
|
||||
lazy-lock.json
|
||||
.luarc.json
|
||||
.neoconf.json
|
||||
lazyvim.json
|
||||
debug/
|
||||
.aitool
|
||||
.colorscheme
|
||||
.hardtime
|
||||
.leader
|
||||
.useimage
|
||||
.wakatime
|
||||
.ignore-deps
|
||||
profile.json
|
||||
rocks.toml
|
||||
extras/
|
||||
/home/rootiest/.cache/nvim
|
||||
qalc
|
||||
test.lua
|
||||
.cache/
|
||||
deprecated/
|
||||
# Plugin installs (managed by vim.pack)
|
||||
/pack/
|
||||
|
||||
# Compiled / cached Lua
|
||||
**/*.luac
|
||||
/lua/__pycache__/
|
||||
|
||||
# LSP and tool data
|
||||
/.luarc.json.bak
|
||||
/lsp/
|
||||
|
||||
# Session and state files
|
||||
/session/
|
||||
/sessions/
|
||||
/.session
|
||||
|
||||
# Swap, backup, undo files
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
*.bak
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
|
||||
# id: gi-patterns-aa0d0d1d58f24039fa0491e40c78bb9f
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/lua
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=lua
|
||||
|
||||
### Lua ###
|
||||
# Compiled Lua sources
|
||||
luac.out
|
||||
|
||||
# luarocks build files
|
||||
*.src.rock
|
||||
*.zip
|
||||
*.tar.gz
|
||||
|
||||
# Object files
|
||||
*.o
|
||||
*.os
|
||||
*.ko
|
||||
*.obj
|
||||
*.elf
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Libraries
|
||||
*.lib
|
||||
*.a
|
||||
*.la
|
||||
*.lo
|
||||
*.def
|
||||
*.exp
|
||||
|
||||
# Shared objects (inc. Windows DLLs)
|
||||
*.dll
|
||||
*.so
|
||||
*.so.*
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
*.i*86
|
||||
*.x86_64
|
||||
*.hex
|
||||
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/lua
|
||||
|
||||
# id: gi-patterns-be86a7264ac20631fa0112bcaff396d7
|
||||
# Created by https://www.toptal.com/developers/gitignore/api/vim
|
||||
# Edit at https://www.toptal.com/developers/gitignore?templates=vim
|
||||
|
||||
### Vim ###
|
||||
# Swap
|
||||
[._]*.s[a-v][a-z]
|
||||
!*.svg # comment out if you don't need vector files
|
||||
[._]*.sw[a-p]
|
||||
[._]s[a-rt-v][a-z]
|
||||
[._]ss[a-gi-z]
|
||||
[._]sw[a-p]
|
||||
|
||||
# Session
|
||||
Session.vim
|
||||
Sessionx.vim
|
||||
|
||||
# Temporary
|
||||
.netrwhist
|
||||
*~
|
||||
# Auto-generated tag files
|
||||
tags
|
||||
# Persistent undo
|
||||
[._]*.un~
|
||||
|
||||
# End of https://www.toptal.com/developers/gitignore/api/vim
|
||||
|
||||
# id: gitig-boilerplate-129366cbf5c6513e388d0725c2e4923b
|
||||
# ╭──────────────────────────────────────────────────────────╮
|
||||
# │ GitIgnore Boilerplate Template │
|
||||
# ╰──────────────────────────────────────────────────────────╯
|
||||
#
|
||||
# ──────────────────── OS-Generated Files ────────────────────
|
||||
# automatic backup files created by some editors (e.g., Vim, Emacs)
|
||||
*~
|
||||
|
||||
# temporary files created if a process still has a handle to a deleted file
|
||||
.fuse_hidden*
|
||||
|
||||
# KDE directory preferences
|
||||
.directory
|
||||
|
||||
# MacOS junk
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Linux trash folder which might appear on any partition or disk
|
||||
.Trash-*
|
||||
|
||||
# files created when an open file is removed but is still being accessed
|
||||
.nfs*
|
||||
|
||||
# ─────────────────── Debug/Temporary/Testing ────────────────
|
||||
# Matches OLD / .OLD
|
||||
[Oo][Ll][Dd]/
|
||||
.[Oo][Ll][Dd]/
|
||||
|
||||
# Matches DISABLE / .DISABLE
|
||||
[Dd][Ii][Ss][Aa][Bb][Ll][Ee]/
|
||||
.[Dd][Ii][Ss][Aa][Bb][Ll][Ee]/
|
||||
|
||||
# Matches DISABLED / .DISABLED
|
||||
[Dd][Ii][Ss][Aa][Bb][Ll][Ee][Dd]/
|
||||
.[Dd][Ii][Ss][Aa][Bb][Ll][Ee][Dd]/
|
||||
|
||||
# Matches DEBUG / .DEBUG
|
||||
[Dd][Ee][Bb][Uu][Gg]/
|
||||
.[Dd][Ee][Bb][Uu][Gg]/
|
||||
|
||||
# Matches TMP / .TMP
|
||||
[Tt][Mm][Pp]/
|
||||
.[Tt][Mm][Pp]/
|
||||
|
||||
# Matches TEMP / .TEMP
|
||||
[Tt][Ee][Mm][Pp]/
|
||||
.[Tt][Ee][Mm][Pp]/
|
||||
|
||||
# Matches TEMPORARY / .TEMPORARY
|
||||
[Tt][Ee][Mm][Pp][Oo][Rr][Aa][Rr][Yy]/
|
||||
.[Tt][Ee][Mm][Pp][Oo][Rr][Aa][Rr][Yy]/
|
||||
|
||||
# Matches TESTING / .TESTING
|
||||
[Tt][Ee][Ss][Tt][Ii][Nn][Gg]/
|
||||
.[Tt][Ee][Ss][Tt][Ii][Nn][Gg]/
|
||||
|
||||
# ─────────────────── AI Sessions and Rules ──────────────────
|
||||
# Matches CLAUDE.md, .claud*, etc.
|
||||
[Cc][Ll][Aa][Uu][Dd][Ee].[Mm][Dd]
|
||||
.[Cc][Ll][Aa][Uu][Dd]*
|
||||
|
||||
# Matches GEMINI.md, .gemin*, etc.
|
||||
[Gg][Ee][Mm][Ii][Nn][Ii].[Mm][Dd]
|
||||
.[Gg][Ee][Mm][Ii][Nn]*
|
||||
|
||||
# Matches ANTIGRAVITY.md, .antigrav*, etc.
|
||||
[Aa][nN][Tt][Ii][Gg][Rr][Aa][Vv][Ii][Tt][Yy].[Mm][Dd]
|
||||
.[Aa][Nn][Tt][Ii][Gg][Rr][Aa][Vv]*
|
||||
|
||||
# Matches AGENTS.md, .remember, etc.
|
||||
[Aa][Gg][Ee][Nn][Tt][Ss].[Mm][Dd]
|
||||
.[Rr][Ee][Mm][Ee][Mm][Bb][Ee][Rr]
|
||||
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
|
||||
# ──────────────── Added by agents-init ──────────────────
|
||||
# agents-init --agents
|
||||
AGENTS/
|
||||
# ────────────────────────────────────────────────────────
|
||||
|
||||
# ──────────────── Added by agents-init ──────────────────
|
||||
# agents-init --plugins
|
||||
docs/superpowers
|
||||
docs/plans
|
||||
docs/specs
|
||||
docs/devlogs
|
||||
# ────────────────────────────────────────────────────────
|
||||
|
||||
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 339 KiB |
|
Before Width: | Height: | Size: 293 KiB |
|
Before Width: | Height: | Size: 318 KiB |
@@ -1,23 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
MIT License
|
||||
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.
|
||||
|
||||
Copyright (c) 2024 Rootiest (https://github.com/rootiest)
|
||||
Preamble
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
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.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
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>.
|
||||
|
||||
@@ -1,231 +1,157 @@
|
||||
# Rootiest Neovim Configuration
|
||||
# 🌙 Rootiest Neovim
|
||||
|
||||
[](https://dotfyle.com/rootiest/rootiest-nvim)
|
||||
[](https://dotfyle.com/rootiest/rootiest-nvim)
|
||||
[](https://dotfyle.com/rootiest/rootiest-nvim)
|
||||
A modern, modular, and high-performance Neovim configuration built from scratch with a focus on simplicity, speed, and standard Neovim primitives.
|
||||
|
||||
```none
|
||||
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
||||
░ ░░░░ ░░░░ ░░░ ░░ ░░ ░░░ ░░░ ░
|
||||
▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒▒▒ ▒▒▒▒
|
||||
▓ ▓▓▓ ▓▓▓▓ ▓▓ ▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓ ▓▓▓▓
|
||||
█ ███ ████ ████ ███ ████ ██████ ██████████ ██████ ███████████████ ███████ ████
|
||||
█ ████ ████ ████ ████████ ██████ ██ ███ ████████ ████
|
||||
█████████████████████████████████████████████████████████████████████████████████████████████
|
||||
░░░░░░░░░░░ ░░░ ░░ ░░░ ░░░ ░░░░ ░░ ░░ ░░░░ ░░░░░░░░░░░
|
||||
▒▒▒▒▒▒▒▒▒▒▒ ▒▒ ▒▒ ▒▒▒▒▒▒▒▒ ▒▒▒▒ ▒▒ ▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒ ▒▒▒▒▒▒▒▒▒▒▒
|
||||
▓▓▓▓▓▓▓▓▓▓▓ ▓ ▓ ▓▓ ▓▓▓▓ ▓▓▓▓ ▓▓▓ ▓▓ ▓▓▓▓▓▓ ▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓
|
||||
█████████████ ██ ███ █████████ ████ ████ █████████ ██████ █ █ █████████████
|
||||
█████████████ ███ ███ ███ ██████ ███████ ██ ████ ██████████████
|
||||
█████████████████████████████████████████████████████████████████████████████████████████████
|
||||
,l; c,
|
||||
.:ooool' loo:.
|
||||
.,oooooooo:. looooc, /VVVVVVVV\++++ /VVVVVVVV\
|
||||
ll:,loooooool, looooool \VVVVVVVV/++++++\VVVVVVVV/
|
||||
llll,;ooooooooc. looooooo |VVVVVV|++++++++/VVVVV/'
|
||||
lllllc,coooooooo; looooooo |VVVVVV|++++++/VVVVV/'
|
||||
lllllll;,loooooool' looooooo +|VVVVVV|++++/VVVVV/'+
|
||||
lllllllc .:oooooooo:. looooooo +++|VVVVVV|++/VVVVV/'+++++
|
||||
lllllllc 'loooooool,:ooooooo +++++|VVVVVV|/VVV___++++++++++
|
||||
lllllllc ;ooooooooc,cooooo +++|VVVVVVVVVV/##/ +_+_+_+
|
||||
lllllllc .coooooooo;;looo +|VVVVVVVVV___ +/#_#,#_#,\
|
||||
lllllllc ,loooooool,:ol |VVVVVVV//##/+/#/+/#/'/#/
|
||||
'cllllc .:oooooooo;. |VVVVV/'+/#/+/#/+/#/ /#/
|
||||
.;llc .loooo:. |VVV/'++/#/+/#/ /#/ /#/
|
||||
,; ;l; 'V/' /##//##//##//###/
|
||||

|
||||

|
||||
|
||||
## ✨ Highlights
|
||||
|
||||
- **Built-in Package Management**: Exclusively uses `vim.pack` for lightweight, native plugin management.
|
||||
- **Phased Loading**: Async, non-blocking startup using a phased `VimEnter` queue for a snappy experience.
|
||||
- **Unified Registry**: Configuration is managed via a global `_G.Config` registry, ensuring cross-plugin consistency.
|
||||
- **High Performance**: Featuring **blink.cmp** (Rust-based completion) and optimized **Snacks.nvim** components.
|
||||
- **AI-Powered**: Native integration with **GitHub Copilot** — inline completions via **blink-copilot** and multi-line refactoring via **Sidekick.nvim** Next Edit Suggestions (NES).
|
||||
- **User-Centric QoL**: Hybrid line numbers, autosave-on-edit, and seamless system clipboard integration.
|
||||
- **Resilient & Portable**: Intelligent terminal title management (Kitty + Fallback), automatic project root detection, and machine-local override support.
|
||||
- **Lean & Readable**: ~980 lines of Lua code (excluding comments and blanks).
|
||||
|
||||
## 📁 Architecture
|
||||
|
||||
The configuration is strictly modular:
|
||||
|
||||
- `init.lua`: Entry point, bootstrap, global state initialization, and machine-local overrides.
|
||||
- `lua/bootstrap.lua`: Early runtime setup — redirects Neovim's data/state paths when running as root (e.g. via a symlinked `~/.config/nvim`), preventing root sessions from polluting or conflicting with the user-level install.
|
||||
- `lua/lazyload.lua`: Logic for async and phased plugin loading.
|
||||
- `lua/options.lua`: Global Vim settings, auto-reload, root management, and terminal title logic.
|
||||
- `lua/plugins.lua`: Plugin declarations and detailed registry-based configurations.
|
||||
- `lua/keymaps.lua`: Centralized user-facing keybindings.
|
||||
- `lua/const.lua`: Stores constant values (like dashboard headers) for the configuration.
|
||||
|
||||
## 🔌 Plugin Stack
|
||||
|
||||
### Core UI
|
||||
- **Catppuccin**: Primary colorscheme (Mocha flavour).
|
||||
- **Lualine**: Statusline with Git diff and line-by-line Gitsigns blame.
|
||||
- **Noice**: Modern UI for cmdline (popup), messages, and LSP hover.
|
||||
- **Snacks**: High-performance dashboard, explorer, and pickers.
|
||||
- **Snacks-tea**: Gitea/Forgejo extension for Snacks (via the `tea` CLI) — Pull Request picker, review, and creation UI, mirroring the built-in GitHub PR/issue integration.
|
||||
- **Nvim-web-devicons**: Consistent icons across UI components.
|
||||
|
||||
### Editing & Navigation
|
||||
- **Flash**: Enhanced motion and search.
|
||||
- **Focusline**: Keeps the active line at a configurable screen position (30%) during scrolling motions.
|
||||
- **Mini.ai**: Better text objects (including `g` for entire buffer).
|
||||
- **Mini.surround**: Surround text objects (add/delete/change).
|
||||
- **Mini.pairs**: Auto-close brackets and quotes. In Markdown, a 3rd backtick expands `` `` `` into a fenced code block (cursor after the opener, ready for a language id) instead of pairing into 4 backticks; backspacing the fence back out removes the closing fence too.
|
||||
- **Persistence**: Session management.
|
||||
- **Which-key**: Interactive keybinding documentation.
|
||||
- **Gitsigns**: In-buffer git indicators and line highlights.
|
||||
- **Grug-far**: Project-wide search and replace.
|
||||
- **Gx.nvim**: Smart URL/reference opener under cursor.
|
||||
- **Comment-box**: Decorative comment boxes and lines.
|
||||
- **Undotree**: Visual undo history browser.
|
||||
- **Haunt.nvim**: In-buffer annotation and bookmark manager. Integrates with the Snacks picker for browsing bookmarks and exposes `haunt_all` / `haunt_buffer` prompt contexts to Sidekick AI sessions.
|
||||
- **Zen Mode**: Distraction-free editing.
|
||||
- **Qalc**: Inline calculator via `qalculate`.
|
||||
|
||||
### LSP & Completion
|
||||
- **Blink.cmp** + **blink.lib**: High-performance Rust-based completion. Auto-detects binary across install layouts; falls back gracefully if unavailable. Rebuilds automatically on `PackChanged`.
|
||||
- **blink-copilot**: Surfaces GitHub Copilot inline suggestions inside the blink.cmp completion menu.
|
||||
- **Sidekick.nvim**: AI assistant providing Next Edit Suggestions (NES) for multi-line refactoring via the Copilot LSP, plus an integrated AI CLI terminal (`<leader>aa`) with context-aware prompts. Snacks picker integration sends selections to the active AI session via `<Alt-a>`.
|
||||
- **LSPConfig + Mason**: Managed LSP support for Lua, C/C++, Rust, Python, Fish, and Shell.
|
||||
- **Conform**: Formatter with format-on-save and range formatting.
|
||||
- **Inc-rename**: Incremental LSP rename with live preview.
|
||||
- **Lazydev**: Neovim Lua type definitions for `lua_ls`.
|
||||
|
||||
### Terminal
|
||||
- **Kitty Scrollback**: Browse Kitty terminal scrollback buffer inside Neovim.
|
||||
|
||||
## 🛠️ System Dependencies
|
||||
|
||||
To ensure all features (pickers, formatters, and LSPs) work correctly, the following packages are required:
|
||||
|
||||
### Essential Tools
|
||||
- `git`, `curl`, `unzip`, `build-essential` (or `base-devel`)
|
||||
- `ripgrep` (Grep support)
|
||||
- `fd` (Fast file finding)
|
||||
- `fzf` (Fuzzy finder fallback)
|
||||
- `lazygit` (Git TUI)
|
||||
- `gh` (GitHub CLI integration)
|
||||
- `tea` (Gitea/Forgejo CLI integration, for Snacks-tea)
|
||||
- `xclip` / `xsel` (X11) or `wl-copy` (Wayland) for clipboard sync.
|
||||
|
||||
### Runtime Environments
|
||||
- `Node.js` & `npm` (Copilot and various LSPs)
|
||||
- `Python3` & `pip` (Python LSPs)
|
||||
- `Cargo` (Rust toolchain, required for building `blink.cmp`)
|
||||
- `qalculate` (optional, required for the Qalc calculator plugin)
|
||||
|
||||
### Installation Commands
|
||||
|
||||
**Debian / Ubuntu:**
|
||||
```bash
|
||||
sudo apt install git ripgrep fd-find fzf lazygit gh xclip nodejs npm build-essential curl unzip
|
||||
# tea: no apt package; install via `go install gitea.com/gitea/tea@latest` or a release binary.
|
||||
```
|
||||
|
||||
The rootiest neovim configuration you will ever see!
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
> Note:
|
||||
> While Neovim may run without these prerequisites,
|
||||
> functionality will be limited.
|
||||
> For the full experience, it is recommended to install the pre-requisites.
|
||||
|
||||
### Required
|
||||
|
||||
- [git](https://git-scm.com/) -
|
||||
Version control system
|
||||
- [luarocks](https://luarocks.org/) -
|
||||
Lua package manager
|
||||
- [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts/) -
|
||||
Font with extended glyphs
|
||||
|
||||
Your terminal/client application **_must_** have a Nerd Font installed
|
||||
and support the Nerd Font glyphs.
|
||||
|
||||
WezTerm, Kitty, or NeoVide are recommended.
|
||||
|
||||
### Optional
|
||||
|
||||
- [ripgrep](https://github.com/BurntSushi/ripgrep) -
|
||||
A faster grep
|
||||
- [fzf](https://github.com/junegunn/fzf) -
|
||||
A command-line fuzzy finder
|
||||
- [fd](https://github.com/sharkdp/fd) -
|
||||
A simple, fast and user-friendly alternative to 'find'
|
||||
- [lazygit](https://github.com/jesseduffield/lazygit) -
|
||||
A simple terminal UI for git commands
|
||||
- [kitty](https://sw.kovidgoyal.net/kitty/) -
|
||||
A fast, feature-rich, GPU based terminal emulator
|
||||
- [NeoVide](https://neovide.dev/) -
|
||||
A fast, feature-rich, and modern Neovim GUI
|
||||
- [fish](https://fishshell.com/) -
|
||||
A smart and user-friendly command line shell
|
||||
|
||||
## Installation
|
||||
|
||||
1. Install [Neovim](https://github.com/neovim/neovim/blob/master/INSTALL.md) (0.9+)
|
||||
2. Install Pre-requisites
|
||||
3. Backup your current nvim configuration (if you have one)
|
||||
|
||||
```sh
|
||||
mv ~/.config/nvim ~/.config/nvim.bak
|
||||
```
|
||||
|
||||
4. Clone the repository
|
||||
|
||||
```sh
|
||||
git clone git@github.com:rootiest/rootiest-nvim ~/.config/nvim
|
||||
```
|
||||
|
||||
5. Enjoy! 🎉
|
||||
|
||||
## Keep your current nvim configuration
|
||||
|
||||
This will download and open the Rootiest Neovim configuration
|
||||
without replacing your current Neovim configuration.
|
||||
|
||||
1. Clone the repository
|
||||
|
||||
```sh
|
||||
git clone git@github.com:rootiest/rootiest-nvim ~/.config/rootiest/rootiest-nvim
|
||||
```
|
||||
|
||||
2. Open Neovim with this config:
|
||||
|
||||
```sh
|
||||
NVIM_APPNAME=rootiest/rootiest-nvim/ nvim
|
||||
```
|
||||
|
||||
3. Enjoy! 🎉
|
||||
|
||||
4. Fall in love and see [Installation](#installation)
|
||||
|
||||
## Features
|
||||
|
||||
- Comfortable keybindings and PDE-like features
|
||||
- Automatically check for Neovim updates
|
||||
- Able to build Neovim updates from source for nightly or any release (on Linux)
|
||||
- Built like a distro. Highly customizable and extensible without writing any code!
|
||||
- Designed to be quick to load and easy to use without compromising on features
|
||||
- Leans heavily on lazy and luarocks for plugin management and lazy-loading
|
||||
- Catppuccin theme is default but a selection of others are also included
|
||||
- Automatic light/dark mode switching based on system theme
|
||||
- Extensive special configurations for kitty, including theme matching
|
||||
- Kitty scrollback and keybinding support
|
||||
- Special configuration for neovide
|
||||
- Detects terminal client and adjusts accordingly
|
||||
- ToggleTerm, fzf-lua, neotree, etc. for quick access to files and terminal
|
||||
- Many UI elements to enhance the experience
|
||||
- LSP support for many languages and automatic setup for many more
|
||||
- Remotely spawn a Neovim instance over ssh, in a container, or from a git repo
|
||||
- Dashboard logo adjusts to the size of the window
|
||||
- Beautiful, unique, and feature-rich lualine statusline
|
||||
- When available, git-blame, WakaTime and music player stats components displayed
|
||||
in lualine 
|
||||
- Warning system for missing dependencies
|
||||
- User-selected AI completion tool:
|
||||
`codeium`, `copilot`, `tabnine`, `minuet`, or `none`
|
||||
- WakaTime integration: Tracking time spent on code
|
||||
- Hardtime integration: Trains better use of vim motions and shortcuts
|
||||
- Colorscheme is remembered between sessions with [astral.nvim](https://github.com/rootiest/astral.nvim)
|
||||
- Highlight group customizations that are colorscheme-compliant
|
||||
- Lean and fast while providing a complete professional experience
|
||||
- Achieves sub-75ms startup time on my personal laptop, goal to never exceed 100ms
|
||||
- Now with more efficient, refactored keymappings!
|
||||
|
||||
## Screenshots
|
||||
|
||||
Features and
|
||||
|
||||
<details>
|
||||
<summary>Main Neovim PDE</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Dashboard</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Markdown view with inline images</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>Neovide Transparency</summary>
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
## Options
|
||||
|
||||
Options are configured in the `config/options.lua` file.
|
||||
|
||||
All of the options are documented showing their possible values.
|
||||
|
||||
This file allows you to select between various plugins and configurations without
|
||||
needing to write any configuration code yourself.
|
||||
|
||||
```lua
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ROOTIEST ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
vim.g.aitool = "codeium" --Options: codeium, copilot, tabnine, minuet, none
|
||||
vim.g.usewakatime = true --Options: true, false
|
||||
vim.g.usehardtime = false --Options: true, false
|
||||
vim.g.useimage = true --Options: true, false
|
||||
**Arch Linux:**
|
||||
```bash
|
||||
sudo pacman -S git ripgrep fd fzf lazygit github-cli tea xclip nodejs npm base-devel curl unzip
|
||||
```
|
||||
|
||||
## Companion Tools
|
||||
## 🚀 Getting Started
|
||||
|
||||
[Rootiest WezTerm](https://github.com/rootiest/rootiest-wezterm) -
|
||||
A wezterm configuration that is designed to work with this Neovim configuration.
|
||||
### Installation
|
||||
|
||||
[Rootiest Kitty](https://github.com/rootiest/rootiest-kitty) -
|
||||
A kitty configuration that is designed to work with this Neovim configuration.
|
||||
```bash
|
||||
git clone https://git.rootiest.dev/rootiest/neovim-config.git ~/.config/nvim
|
||||
nvim
|
||||
```
|
||||
|
||||
[Rootiest Fish](https://github.com/rootiest/rootiest-fish) -
|
||||
A fish configuration that pairs well with this Neovim configuration.
|
||||
### Post-Install
|
||||
|
||||
[Rootiest Tmux](https://github.com/rootiest/rootiest-tmux) -
|
||||
A tmux configuration that is designed to work with this Neovim configuration.
|
||||
1. **Build Blink**: Completion auto-rebuilds on `PackChanged`. If it still isn't working, run `cargo build --release` inside `~/.local/share/nvim/site/pack/core/opt/blink.cmp`.
|
||||
2. **LSP Servers**: Run `:Mason` to monitor the installation of Language Servers.
|
||||
3. **Copilot**: Run `:LspCopilotSignIn` to authenticate, then `:checkhealth sidekick` to verify the Sidekick NES integration is working.
|
||||
|
||||
[Rootiest Vim](https://github.com/rootiest/rootiest-vim) -
|
||||
A Vim configuration that pairs well with this Neovim configuration.
|
||||
### Machine-Local Overrides
|
||||
|
||||
[Rootiest Iosevka Font](https://github.com/rootiest/rootiest-iosevka) -
|
||||
A custom Iosevka font that is designed by developers, for developers.
|
||||
Place machine-specific or secret configuration in `~/.config/.user-dots/nvim/local.lua` or `~/.config/.user-dots/nvim/secrets.lua`. These files are sourced automatically at startup if present, and are intentionally outside the repo to avoid accidental commits.
|
||||
|
||||
[Nerd Fonts](https://github.com/ryanoasis/nerd-fonts/) -
|
||||
A collection of fonts that includes many icons and glyphs used in this configuration.
|
||||
## ⌨️ Key Features & Mappings
|
||||
|
||||
## Dotfiles
|
||||
| Key | Description |
|
||||
| :--- | :--- |
|
||||
| `<leader><space>` | Smart Find Files (Snacks) |
|
||||
| `<leader>e` | File Explorer (Snacks) |
|
||||
| `<leader>sr` | Search and Replace (Grug-far) |
|
||||
| `<leader>gg` | Open Lazygit |
|
||||
| `<leader>qs` | Restore Last Session (Persistence) |
|
||||
| `<leader>cf` | Format Buffer (Conform) |
|
||||
| `<leader>uu` | Toggle Undo Tree |
|
||||
| `<leader>z` | Toggle Zen Mode |
|
||||
| `gd` / `gr` | Goto Definition / References |
|
||||
| `K` | Hover Documentation |
|
||||
| `s` / `S` | Leap Motion (Normal/Window) |
|
||||
| `ys` / `ds` / `cs` | Surround (Add/Delete/Change) |
|
||||
| `gx` / `gX` | Open URL under cursor (Gx.nvim) |
|
||||
| `<Tab>` *(insert)* | Advance snippet → NES suggestion → native inline completion → fallback |
|
||||
| `<Tab>` *(normal)* | Jump to / apply Sidekick NES suggestion |
|
||||
| `<leader>aa` | Toggle Sidekick AI CLI terminal |
|
||||
| `<leader>as` | Select AI tool (Sidekick) |
|
||||
| `<Alt-a>` *(picker)* | Send picker selection to active AI CLI session |
|
||||
| `<leader>ha` | Annotate current position (Haunt) |
|
||||
| `<leader>ht` | Toggle annotation visibility (Haunt) |
|
||||
| `<leader>hd` | Delete bookmark (Haunt) |
|
||||
| `<leader>hn` / `<leader>hp` | Next / Previous bookmark (Haunt) |
|
||||
| `<leader>hl` | Browse all bookmarks in picker (Haunt) |
|
||||
| `<leader>cbb` | Create Centered Comment Box |
|
||||
| `<leader>cbl` | Create Centered Comment Line |
|
||||
| `<leader>cbd` | Delete Comment Box/Line |
|
||||
| `<leader>cbk` | Browse Box Style Catalog |
|
||||
| `:Q` | Forced Write-All and Quit |
|
||||
|
||||
[Rootiest Dotfiles](https://github.com/rootiest/dotfiles)
|
||||
## 📜 License
|
||||
|
||||
## Credits
|
||||
|
||||
- [Folke Lamaitre](https://github.com/folke)
|
||||
- [Evgeni Chasnovski](https://github.com/echasnovski)
|
||||
- [LazyVim](https://github.com/LazyVim/LazyVim)
|
||||
- [Elijah Manor](https://github.com/elijahmanor/elijahmanor)
|
||||
Distributed under the **GPLv3 or later** License. See `LICENSE` for more information.
|
||||
|
||||
@@ -1,392 +0,0 @@
|
||||
-- This file is generated by ex-colors. The credit goes to the authors and contributors of the original colorscheme catppuccin-mocha.
|
||||
vim.api.nvim_set_var('colors_name', 'ex-catppuccin-mocha')
|
||||
vim.api.nvim_set_hl(0, '@attribute', { link = 'Constant' })
|
||||
vim.api.nvim_set_hl(0, '@comment.documentation', { link = 'Comment' })
|
||||
vim.api.nvim_set_hl(0, '@comment.error', { bg = 15961000, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, '@comment.note', { bg = 9024762, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, '@comment.todo', { bg = 15912397, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, '@comment.warning', { bg = 16376495, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, '@constant.builtin', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, '@constant.macro', { link = 'Macro' })
|
||||
vim.api.nvim_set_hl(0, '@constructor', { fg = 7653356 })
|
||||
vim.api.nvim_set_hl(0, '@diff.delta', { link = 'diffChanged' })
|
||||
vim.api.nvim_set_hl(0, '@diff.minus', { link = 'diffRemoved' })
|
||||
vim.api.nvim_set_hl(0, '@diff.plus', { link = 'diffAdded' })
|
||||
vim.api.nvim_set_hl(0, '@function.builtin', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, '@function.call', { link = 'Function' })
|
||||
vim.api.nvim_set_hl(0, '@function.macro', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(0, '@function.method', { link = 'Function' })
|
||||
vim.api.nvim_set_hl(0, '@function.method.call', { link = 'Function' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.conditional', { link = 'Conditional' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.conditional.ternary', { link = 'Operator' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.coroutine', { link = 'Keyword' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.debug', { link = 'Exception' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.directive', { link = 'PreProc' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.directive.define', { link = 'Define' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.exception', { link = 'Exception' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.function', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, '@keyword.import', { link = 'Include' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.modifier', { link = 'Keyword' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.operator', { link = 'Operator' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.repeat', { link = 'Repeat' })
|
||||
vim.api.nvim_set_hl(0, '@keyword.return', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, '@keyword.type', { link = 'Keyword' })
|
||||
vim.api.nvim_set_hl(0, '@lsp.type.interface', { fg = 15912397 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@markup.heading',
|
||||
{ bold = true, cterm = { bold = true }, fg = 9024762 }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@markup.italic',
|
||||
{ cterm = { italic = true }, fg = 15442092, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, '@markup.link', { link = 'Tag' })
|
||||
vim.api.nvim_set_hl(0, '@markup.link.label', { link = 'Label' })
|
||||
vim.api.nvim_set_hl(0, '@markup.link.url', {
|
||||
cterm = { italic = true, underline = true },
|
||||
fg = 16113884,
|
||||
italic = true,
|
||||
underline = true,
|
||||
})
|
||||
vim.api.nvim_set_hl(0, '@markup.list', { link = 'Special' })
|
||||
vim.api.nvim_set_hl(0, '@markup.list.checked', { fg = 10937249 })
|
||||
vim.api.nvim_set_hl(0, '@markup.list.unchecked', { fg = 8357020 })
|
||||
vim.api.nvim_set_hl(0, '@markup.math', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@markup.quote',
|
||||
{ bold = true, cterm = { bold = true }, fg = 15442092 }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, '@markup.raw', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@markup.strikethrough',
|
||||
{ cterm = { strikethrough = true }, fg = 13489908, strikethrough = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@markup.strong',
|
||||
{ bold = true, cterm = { bold = true }, fg = 15442092 }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, '@markup.underline', { link = 'Underlined' })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@module',
|
||||
{ cterm = { italic = true }, fg = 11845374, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, '@property', { fg = 11845374 })
|
||||
vim.api.nvim_set_hl(0, '@punctuation.bracket', { fg = 9673138 })
|
||||
vim.api.nvim_set_hl(0, '@punctuation.delimiter', { link = 'Delimiter' })
|
||||
vim.api.nvim_set_hl(0, '@string.documentation', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(0, '@string.escape', { fg = 16106215 })
|
||||
vim.api.nvim_set_hl(0, '@string.regexp', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, '@string.special', { link = 'Special' })
|
||||
vim.api.nvim_set_hl(0, '@string.special.path', { link = 'Special' })
|
||||
vim.api.nvim_set_hl(0, '@string.special.symbol', { fg = 15912397 })
|
||||
vim.api.nvim_set_hl(0, '@string.special.url', {
|
||||
cterm = { italic = true, underline = true },
|
||||
fg = 16113884,
|
||||
italic = true,
|
||||
underline = true,
|
||||
})
|
||||
vim.api.nvim_set_hl(0, '@tag', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'@tag.attribute',
|
||||
{ cterm = { italic = true }, fg = 9757397, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, '@tag.delimiter', { fg = 9034987 })
|
||||
vim.api.nvim_set_hl(0, '@type.builtin', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(0, '@type.definition', { link = 'Type' })
|
||||
vim.api.nvim_set_hl(0, '@variable', { fg = 13489908 })
|
||||
vim.api.nvim_set_hl(0, '@variable.builtin', { fg = 15961000 })
|
||||
vim.api.nvim_set_hl(0, '@variable.member', { fg = 11845374 })
|
||||
vim.api.nvim_set_hl(0, '@variable.parameter', { fg = 15442092 })
|
||||
vim.api.nvim_set_hl(0, 'Boolean', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, 'Character', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(0, 'ColorColumn', { bg = 3224132 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'Comment',
|
||||
{ cterm = { italic = true }, fg = 9673138, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Conceal', { fg = 8357020 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'Conditional',
|
||||
{ cterm = { italic = true }, fg = 13346551, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Constant', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, 'CurSearch', { bg = 15961000, fg = 1579045 })
|
||||
vim.api.nvim_set_hl(0, 'Cursor', { bg = 13489908, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, 'CursorColumn', { bg = 1579045 })
|
||||
vim.api.nvim_set_hl(0, 'CursorIM', { bg = 13489908, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, 'CursorLine', { bg = 2763580 })
|
||||
vim.api.nvim_set_hl(0, 'CursorLineNr', { fg = 11845374 })
|
||||
vim.api.nvim_set_hl(0, 'Delimiter', { fg = 9673138 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticError',
|
||||
{ cterm = { italic = true }, fg = 15961000, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticFloatingError', { fg = 15961000 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticFloatingHint', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticFloatingInfo', { fg = 9034987 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticFloatingOk', { fg = 10937249 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticFloatingWarn', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticHint',
|
||||
{ cterm = { italic = true }, fg = 9757397, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticInfo',
|
||||
{ cterm = { italic = true }, fg = 9034987, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticOk',
|
||||
{ cterm = { italic = true }, fg = 10937249, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticSignError', { fg = 15961000 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticSignHint', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticSignInfo', { fg = 9034987 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticSignOk', { fg = 10937249 })
|
||||
vim.api.nvim_set_hl(0, 'DiagnosticSignWarn', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticUnderlineError',
|
||||
{ cterm = { underline = true }, sp = 15961000, underline = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticUnderlineHint',
|
||||
{ cterm = { underline = true }, sp = 9757397, underline = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticUnderlineInfo',
|
||||
{ cterm = { underline = true }, sp = 9034987, underline = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticUnderlineOk',
|
||||
{ cterm = { underline = true }, sp = 10937249, underline = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticUnderlineWarn',
|
||||
{ cterm = { underline = true }, sp = 16376495, underline = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticVirtualTextError',
|
||||
{ bg = 3287098, cterm = { italic = true }, fg = 15961000, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticVirtualTextHint',
|
||||
{ bg = 2699582, cterm = { italic = true }, fg = 9757397, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticVirtualTextInfo',
|
||||
{ bg = 2633792, cterm = { italic = true }, fg = 9034987, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticVirtualTextOk',
|
||||
{ bg = 2699582, cterm = { italic = true }, fg = 10937249, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticVirtualTextWarn',
|
||||
{ bg = 3354938, cterm = { italic = true }, fg = 16376495, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'DiagnosticWarn',
|
||||
{ cterm = { italic = true }, fg = 16376495, italic = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'DiffAdd', { bg = 3555651 })
|
||||
vim.api.nvim_set_hl(0, 'DiffChange', { bg = 2435388 })
|
||||
vim.api.nvim_set_hl(0, 'DiffDelete', { bg = 4469316 })
|
||||
vim.api.nvim_set_hl(0, 'DiffText', { bg = 4082539 })
|
||||
vim.api.nvim_set_hl(0, 'Directory', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'EndOfBuffer', { fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, 'Error', { fg = 15961000 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'ErrorMsg',
|
||||
{
|
||||
bold = true,
|
||||
cterm = { bold = true, italic = true },
|
||||
fg = 15961000,
|
||||
italic = true,
|
||||
}
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Exception', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, 'FloatBorder', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'FloatTitle', { fg = 10923464 })
|
||||
vim.api.nvim_set_hl(0, 'FoldColumn', { fg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'Folded', { bg = 4540250, fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'Function', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'Identifier', { fg = 15912397 })
|
||||
vim.api.nvim_set_hl(0, 'IncSearch', { bg = 8309208, fg = 1579045 })
|
||||
vim.api.nvim_set_hl(0, 'Include', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, 'Keyword', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, 'Label', { fg = 7653356 })
|
||||
vim.api.nvim_set_hl(0, 'LineNr', { fg = 4540250 })
|
||||
vim.api.nvim_set_hl(0, 'LspCodeLens', { fg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'LspInlayHint', { bg = 2763580, fg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'LspReferenceRead', { bg = 4540250 })
|
||||
vim.api.nvim_set_hl(0, 'LspReferenceText', { bg = 4540250 })
|
||||
vim.api.nvim_set_hl(0, 'LspReferenceWrite', { bg = 4540250 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'LspSignatureActiveParameter',
|
||||
{ bg = 3224132, bold = true, cterm = { bold = true } }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Macro', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'MatchParen',
|
||||
{ bg = 4540250, bold = true, cterm = { bold = true }, fg = 16429959 }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'ModeMsg',
|
||||
{ bold = true, cterm = { bold = true }, fg = 13489908 }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'MoreMsg', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'NonText', { fg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'Normal', { bg = 1973806, fg = 13489908 })
|
||||
vim.api.nvim_set_hl(0, 'NormalFloat', { bg = 1579045, fg = 13489908 })
|
||||
vim.api.nvim_set_hl(0, 'NormalNC', { bg = 1973806, fg = 13489908 })
|
||||
vim.api.nvim_set_hl(0, 'Number', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, 'Operator', { fg = 9034987 })
|
||||
vim.api.nvim_set_hl(0, 'Pmenu', { bg = 2829116, fg = 9673138 })
|
||||
vim.api.nvim_set_hl(0, 'PmenuMatch', { bold = true, cterm = { bold = true } })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'PmenuMatchSel',
|
||||
{ bold = true, cterm = { bold = true } }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'PmenuSbar', { bg = 4540250 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'PmenuSel',
|
||||
{ bg = 4540250, bold = true, cterm = { bold = true } }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'PmenuThumb', { bg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'PreProc', { fg = 16106215 })
|
||||
vim.api.nvim_set_hl(0, 'Question', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'QuickFixLine',
|
||||
{ bg = 4540250, bold = true, cterm = { bold = true } }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Repeat', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, 'Search', { bg = 4085607, fg = 13489908 })
|
||||
vim.api.nvim_set_hl(0, 'SignColumn', { fg = 4540250 })
|
||||
vim.api.nvim_set_hl(0, 'Special', { fg = 16106215 })
|
||||
vim.api.nvim_set_hl(0, 'SpecialKey', { link = 'NonText' })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'SpellBad',
|
||||
{ cterm = { undercurl = true }, sp = 15961000, undercurl = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'SpellCap',
|
||||
{ cterm = { undercurl = true }, sp = 16376495, undercurl = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'SpellLocal',
|
||||
{ cterm = { undercurl = true }, sp = 9024762, undercurl = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'SpellRare',
|
||||
{ cterm = { undercurl = true }, sp = 10937249, undercurl = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Statement', { fg = 13346551 })
|
||||
vim.api.nvim_set_hl(0, 'StatusLine', { bg = 1579045, fg = 13489908 })
|
||||
vim.api.nvim_set_hl(0, 'StatusLineNC', { bg = 1579045, fg = 4540250 })
|
||||
vim.api.nvim_set_hl(0, 'StatusLineTerm', { link = 'StatusLine' })
|
||||
vim.api.nvim_set_hl(0, 'StatusLineTermNC', { link = 'StatusLineNC' })
|
||||
vim.api.nvim_set_hl(0, 'StorageClass', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(0, 'String', { fg = 10937249 })
|
||||
vim.api.nvim_set_hl(0, 'Structure', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(0, 'Substitute', { bg = 4540250, fg = 16106215 })
|
||||
vim.api.nvim_set_hl(0, 'TabLine', { bg = 1118491, fg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'TabLineFill', { bg = 1579045 })
|
||||
vim.api.nvim_set_hl(0, 'TabLineSel', { link = 'Normal' })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'Tag',
|
||||
{ bold = true, cterm = { bold = true }, fg = 11845374 }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'TermCursor', { bg = 16113884, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'Title',
|
||||
{ bold = true, cterm = { bold = true }, fg = 9024762 }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'Todo',
|
||||
{ bg = 15912397, bold = true, cterm = { bold = true }, fg = 1973806 }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'Type', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'Visual',
|
||||
{ bg = 4540250, bold = true, cterm = { bold = true } }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'VisualNOS',
|
||||
{ bg = 4540250, bold = true, cterm = { bold = true } }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'WarningMsg', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(0, 'Whitespace', { fg = 4540250 })
|
||||
vim.api.nvim_set_hl(0, 'WildMenu', { bg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'WinBar', { fg = 16113884 })
|
||||
vim.api.nvim_set_hl(0, 'WinBarNC', { link = 'WinBar' })
|
||||
vim.api.nvim_set_hl(0, 'WinSeparator', { fg = 1118491 })
|
||||
vim.api.nvim_set_hl(0, 'diffAdded', { fg = 10937249 })
|
||||
vim.api.nvim_set_hl(0, 'diffChanged', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'diffFile', { fg = 9024762 })
|
||||
vim.api.nvim_set_hl(0, 'diffIndexLine', { fg = 9757397 })
|
||||
vim.api.nvim_set_hl(0, 'diffLine', { fg = 7106694 })
|
||||
vim.api.nvim_set_hl(0, 'diffNewFile', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, 'diffOldFile', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(0, 'diffRemoved', { fg = 15961000 })
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'htmlH1',
|
||||
{ bold = true, cterm = { bold = true }, fg = 16106215 }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'htmlH2',
|
||||
{ bold = true, cterm = { bold = true }, fg = 9024762 }
|
||||
)
|
||||
vim.api.nvim_set_hl(0, 'lCursor', { bg = 13489908, fg = 1973806 })
|
||||
vim.api.nvim_set_hl(0, 'markdownH1', { link = 'rainbow1' })
|
||||
vim.api.nvim_set_hl(0, 'markdownH2', { link = 'rainbow2' })
|
||||
vim.api.nvim_set_hl(0, 'markdownH3', { link = 'rainbow3' })
|
||||
vim.api.nvim_set_hl(0, 'markdownH4', { link = 'rainbow4' })
|
||||
vim.api.nvim_set_hl(0, 'markdownH5', { link = 'rainbow5' })
|
||||
vim.api.nvim_set_hl(0, 'markdownH6', { link = 'rainbow6' })
|
||||
vim.api.nvim_set_hl(0, 'rainbow1', { fg = 15961000 })
|
||||
vim.api.nvim_set_hl(0, 'rainbow2', { fg = 16429959 })
|
||||
vim.api.nvim_set_hl(0, 'rainbow3', { fg = 16376495 })
|
||||
vim.api.nvim_set_hl(0, 'rainbow4', { fg = 10937249 })
|
||||
vim.api.nvim_set_hl(0, 'rainbow5', { fg = 7653356 })
|
||||
vim.api.nvim_set_hl(0, 'rainbow6', { fg = 11845374 })
|
||||
@@ -1,294 +0,0 @@
|
||||
[
|
||||
[
|
||||
"🎨",
|
||||
"Improve structure / format of the code."
|
||||
],
|
||||
[
|
||||
"⚡️",
|
||||
"Improve performance."
|
||||
],
|
||||
[
|
||||
"🔥",
|
||||
"Remove code or files."
|
||||
],
|
||||
[
|
||||
"🐛",
|
||||
"Fix a bug."
|
||||
],
|
||||
[
|
||||
"🚑️",
|
||||
"Critical hotfix."
|
||||
],
|
||||
[
|
||||
"✨",
|
||||
"Introduce new features."
|
||||
],
|
||||
[
|
||||
"📝",
|
||||
"Add or update documentation."
|
||||
],
|
||||
[
|
||||
"🚀",
|
||||
"Deploy stuff."
|
||||
],
|
||||
[
|
||||
"💄",
|
||||
"Add or update the UI and style files."
|
||||
],
|
||||
[
|
||||
"🎉",
|
||||
"Begin a project."
|
||||
],
|
||||
[
|
||||
"✅",
|
||||
"Add, update, or pass tests."
|
||||
],
|
||||
[
|
||||
"🔒️",
|
||||
"Fix security or privacy issues."
|
||||
],
|
||||
[
|
||||
"🔐",
|
||||
"Add or update secrets."
|
||||
],
|
||||
[
|
||||
"🔖",
|
||||
"Release / Version tags."
|
||||
],
|
||||
[
|
||||
"🚨",
|
||||
"Fix compiler / linter warnings."
|
||||
],
|
||||
[
|
||||
"🚧",
|
||||
"Work in progress."
|
||||
],
|
||||
[
|
||||
"💚",
|
||||
"Fix CI Build."
|
||||
],
|
||||
[
|
||||
"⬇️",
|
||||
"Downgrade dependencies."
|
||||
],
|
||||
[
|
||||
"⬆️",
|
||||
"Upgrade dependencies."
|
||||
],
|
||||
[
|
||||
"📌",
|
||||
"Pin dependencies to specific versions."
|
||||
],
|
||||
[
|
||||
"👷",
|
||||
"Add or update CI build system."
|
||||
],
|
||||
[
|
||||
"📈",
|
||||
"Add or update analytics or track code."
|
||||
],
|
||||
[
|
||||
"♻️",
|
||||
"Refactor code."
|
||||
],
|
||||
[
|
||||
"➕",
|
||||
"Add a dependency."
|
||||
],
|
||||
[
|
||||
"➖",
|
||||
"Remove a dependency."
|
||||
],
|
||||
[
|
||||
"🔧",
|
||||
"Add or update configuration files."
|
||||
],
|
||||
[
|
||||
"🔨",
|
||||
"Add or update development scripts."
|
||||
],
|
||||
[
|
||||
"🌐",
|
||||
"Internationalization and localization."
|
||||
],
|
||||
[
|
||||
"✏️",
|
||||
"Fix typos."
|
||||
],
|
||||
[
|
||||
"💩",
|
||||
"Write bad code that needs to be improved."
|
||||
],
|
||||
[
|
||||
"⏪️",
|
||||
"Revert changes."
|
||||
],
|
||||
[
|
||||
"🔀",
|
||||
"Merge branches."
|
||||
],
|
||||
[
|
||||
"📦️",
|
||||
"Add or update compiled files or packages."
|
||||
],
|
||||
[
|
||||
"👽️",
|
||||
"Update code due to external API changes."
|
||||
],
|
||||
[
|
||||
"🚚",
|
||||
"Move or rename resources (e.g.: files, paths, routes)."
|
||||
],
|
||||
[
|
||||
"📄",
|
||||
"Add or update license."
|
||||
],
|
||||
[
|
||||
"💥",
|
||||
"Introduce breaking changes."
|
||||
],
|
||||
[
|
||||
"🍱",
|
||||
"Add or update assets."
|
||||
],
|
||||
[
|
||||
"♿️",
|
||||
"Improve accessibility."
|
||||
],
|
||||
[
|
||||
"💡",
|
||||
"Add or update comments in source code."
|
||||
],
|
||||
[
|
||||
"🍻",
|
||||
"Write code drunkenly."
|
||||
],
|
||||
[
|
||||
"💬",
|
||||
"Add or update text and literals."
|
||||
],
|
||||
[
|
||||
"🗃️",
|
||||
"Perform database related changes."
|
||||
],
|
||||
[
|
||||
"🔊",
|
||||
"Add or update logs."
|
||||
],
|
||||
[
|
||||
"🔇",
|
||||
"Remove logs."
|
||||
],
|
||||
[
|
||||
"👥",
|
||||
"Add or update contributor(s)."
|
||||
],
|
||||
[
|
||||
"🚸",
|
||||
"Improve user experience / usability."
|
||||
],
|
||||
[
|
||||
"🏗️",
|
||||
"Make architectural changes."
|
||||
],
|
||||
[
|
||||
"📱",
|
||||
"Work on responsive design."
|
||||
],
|
||||
[
|
||||
"🤡",
|
||||
"Mock things."
|
||||
],
|
||||
[
|
||||
"🥚",
|
||||
"Add or update an easter egg."
|
||||
],
|
||||
[
|
||||
"🙈",
|
||||
"Add or update a .gitignore file."
|
||||
],
|
||||
[
|
||||
"📸",
|
||||
"Add or update snapshots."
|
||||
],
|
||||
[
|
||||
"⚗️",
|
||||
"Perform experiments."
|
||||
],
|
||||
[
|
||||
"🔍️",
|
||||
"Improve SEO."
|
||||
],
|
||||
[
|
||||
"🏷️",
|
||||
"Add or update types."
|
||||
],
|
||||
[
|
||||
"🌱",
|
||||
"Add or update seed files."
|
||||
],
|
||||
[
|
||||
"🚩",
|
||||
"Add, update, or remove feature flags."
|
||||
],
|
||||
[
|
||||
"🥅",
|
||||
"Catch errors."
|
||||
],
|
||||
[
|
||||
"💫",
|
||||
"Add or update animations and transitions."
|
||||
],
|
||||
[
|
||||
"🗑️",
|
||||
"Deprecate code that needs to be cleaned up."
|
||||
],
|
||||
[
|
||||
"🛂",
|
||||
"Work on code related to authorization, roles and permissions."
|
||||
],
|
||||
[
|
||||
"🩹",
|
||||
"Simple fix for a non-critical issue."
|
||||
],
|
||||
[
|
||||
"🧐",
|
||||
"Data exploration/inspection."
|
||||
],
|
||||
[
|
||||
"⚰️",
|
||||
"Remove dead code."
|
||||
],
|
||||
[
|
||||
"🧪",
|
||||
"Add a failing test."
|
||||
],
|
||||
[
|
||||
"👔",
|
||||
"Add or update business logic."
|
||||
],
|
||||
[
|
||||
"🩺",
|
||||
"Add or update healthcheck."
|
||||
],
|
||||
[
|
||||
"🧱",
|
||||
"Infrastructure related changes."
|
||||
],
|
||||
[
|
||||
"🧑💻",
|
||||
"Improve developer experience."
|
||||
],
|
||||
[
|
||||
"💸",
|
||||
"Add sponsorships or money related infrastructure."
|
||||
],
|
||||
[
|
||||
"🧵",
|
||||
"Add or update code related to multithreading or concurrency."
|
||||
],
|
||||
[
|
||||
"🦺",
|
||||
"Add or update code related to validation."
|
||||
]
|
||||
]
|
||||
@@ -1,178 +0,0 @@
|
||||
[
|
||||
[
|
||||
"(╯°□°)╯︵ ┻━┻",
|
||||
"angry table 生氣 翻桌 幹"
|
||||
],
|
||||
[
|
||||
"_:(´ཀ`」∠):_",
|
||||
"bleeding 吐血"
|
||||
],
|
||||
[
|
||||
"∩ __∩ y",
|
||||
"hehe 真是個壞女孩"
|
||||
],
|
||||
[
|
||||
"・゚・。・゚・(つД`)",
|
||||
"cry 泣き"
|
||||
],
|
||||
[
|
||||
"(´;ω;`)",
|
||||
"cry 泣き 哭哭"
|
||||
],
|
||||
[
|
||||
"(´;д;`)",
|
||||
"cry 泣き 哭哭"
|
||||
],
|
||||
[
|
||||
"(;´༎ຶД༎ຶ`)",
|
||||
"cry miserably"
|
||||
],
|
||||
[
|
||||
"ˊ_>ˋ",
|
||||
"dandin 淡定 淡定紅茶"
|
||||
],
|
||||
[
|
||||
"♥",
|
||||
"heart ハート 愛心"
|
||||
],
|
||||
[
|
||||
"┌(┌ ^o^)┐ホモォ",
|
||||
"homo ホモ"
|
||||
],
|
||||
[
|
||||
"┌(┌ ^o^)┐しょた。。。",
|
||||
"rail02000 ショタ しょた shota"
|
||||
],
|
||||
[
|
||||
"へ(゜∇、°)へ",
|
||||
"ehehe えへへ エヘヘ"
|
||||
],
|
||||
[
|
||||
"キタ――(゚∀゚)――!!",
|
||||
"kita 来たー キター きたー"
|
||||
],
|
||||
[
|
||||
"_(:3 」∠ )_ ",
|
||||
"lazy 懶"
|
||||
],
|
||||
[
|
||||
"ˊ・ω・ˋ",
|
||||
"owo"
|
||||
],
|
||||
[
|
||||
"ˊvˋ",
|
||||
"relax"
|
||||
],
|
||||
[
|
||||
"( ˘ω˘ )",
|
||||
"uwu"
|
||||
],
|
||||
[
|
||||
"(´・_・`)",
|
||||
"sad"
|
||||
],
|
||||
[
|
||||
"(゚⊿゚)",
|
||||
"Huh? 不知所云 摳妞臉"
|
||||
],
|
||||
[
|
||||
"(。ŏ_ŏ)",
|
||||
"WTF 什麼啦"
|
||||
],
|
||||
[
|
||||
"( ˘•ω•˘ )",
|
||||
"owo"
|
||||
],
|
||||
[
|
||||
"(´-ω-`) ",
|
||||
"relax"
|
||||
],
|
||||
[
|
||||
"(。A。) ",
|
||||
"happy 爽翻"
|
||||
],
|
||||
[
|
||||
"(ノ>ω<)ノ ",
|
||||
"yeah >w<"
|
||||
],
|
||||
[
|
||||
"\\\\m/ >_< \\\\m/",
|
||||
"rock"
|
||||
],
|
||||
[
|
||||
"。:.゚ヽ(*´∀`)ノ゚.:。 ",
|
||||
"cheers 歡呼"
|
||||
],
|
||||
[
|
||||
" ヾ(*´∀ ˋ*)ノ ",
|
||||
"cheers 歡呼"
|
||||
],
|
||||
[
|
||||
"(´・ω・`)",
|
||||
"owo"
|
||||
],
|
||||
[
|
||||
"(゚∀。)",
|
||||
"happy 爽爽"
|
||||
],
|
||||
[
|
||||
"(つд⊂) ",
|
||||
"don't see 非禮勿視"
|
||||
],
|
||||
[
|
||||
"╮(╯_╰)╭ ",
|
||||
"alas 無奈 面對國民黨支持者的表情 面對中國五毛的表情"
|
||||
],
|
||||
[
|
||||
"σ ゚∀ ゚) ゚∀゚)σ",
|
||||
"haha 你看看你 UCCU uccu"
|
||||
],
|
||||
[
|
||||
"σ(´∀`*)",
|
||||
"me? 我嗎?"
|
||||
],
|
||||
[
|
||||
"il||li _| ̄|○ヽ(・ω・`) ",
|
||||
"don't mind"
|
||||
],
|
||||
[
|
||||
"_(:3 ⌒゙)_ ",
|
||||
"butt お尻 おしり 摳屁股"
|
||||
],
|
||||
[
|
||||
"(・∀・)つ➄ ",
|
||||
"five cent hello 五毛你好"
|
||||
],
|
||||
[
|
||||
"ε≡ヘ( ´∀`)ノ ",
|
||||
"yeah 耶"
|
||||
],
|
||||
[
|
||||
"(・`ω´・)",
|
||||
"i would be angry 我要生氣了"
|
||||
],
|
||||
[
|
||||
"(≖ᴗ≖๑)",
|
||||
"really? orly 呵呵 是嗎 是喔"
|
||||
],
|
||||
[
|
||||
"(゚д゚)",
|
||||
"shocked 震驚 驚訝"
|
||||
],
|
||||
[
|
||||
"。・゚・(つд`゚)つ⑩))Д´)",
|
||||
"so pity 你好可憐喔"
|
||||
],
|
||||
[
|
||||
"ლ(´ڡ`ლ)",
|
||||
"come here 來來來"
|
||||
],
|
||||
[
|
||||
"(/‵Д′)/~ ╧╧ ",
|
||||
"angry furious"
|
||||
],
|
||||
[
|
||||
"#゚Å゚)⊂彡☆))゚Д゚)・∵",
|
||||
"angry punch"
|
||||
]
|
||||
]
|
||||
@@ -1,57 +0,0 @@
|
||||
# Rootiest Iosevka Fonts
|
||||
|
||||
This is a collection of Iosevka font variants that are used in the rootiest configurations.
|
||||
|
||||

|
||||
|
||||
## Version
|
||||
|
||||
This font was built using
|
||||
[Iosevka](https://github.com/be5invis/Iosevka) version 31.7.1
|
||||
|
||||
The Nerd Font patches were built using
|
||||
[Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) version 3.2.1
|
||||
|
||||
## Installation
|
||||
|
||||
[Install the Rootiest Neovim config](../README.md#installation)
|
||||
|
||||
### Linux
|
||||
|
||||
```bash
|
||||
cd ~/.config/nvim/fonts
|
||||
cp *.{otf,ttf} ~/.local/share/fonts
|
||||
fc-cache -fv
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
```powershell
|
||||
|
||||
$home = $env:USERPROFILE
|
||||
cd $home\.config\nvim\fonts
|
||||
cp *.{otf,ttf} $env:LOCALAPPDATA\Microsoft\Windows\Fonts
|
||||
```
|
||||
|
||||
### MacOS
|
||||
|
||||
```bash
|
||||
cd ~/.config/nvim/fonts
|
||||
cp *.{otf,ttf} ~/Library/Fonts
|
||||
```
|
||||
|
||||
## Thanks
|
||||
|
||||
This font wouldn't be possible without the following projects:
|
||||
|
||||
- [Iosevka](https://github.com/be5invis/Iosevka) -
|
||||
This is the base font whose character variants are used in this font.
|
||||
|
||||
- [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts) -
|
||||
The Nerd Font variant is built using this patch.
|
||||
|
||||
## License
|
||||
|
||||
This font is licensed under the [MIT License](../LICENSE).
|
||||
|
||||
---
|
||||
|
Before Width: | Height: | Size: 142 KiB |
@@ -1,113 +1,32 @@
|
||||
-- Copyright (C) 2024 Chris Laprade (chris@rootiest.com)
|
||||
--
|
||||
-- This program is free software: you can redistribute it and/or modify
|
||||
-- it under the terms of the GNU Affero 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 Affero General Public License for more details.
|
||||
--
|
||||
-- You should have received a copy of the GNU Affero General Public License
|
||||
-- along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
--
|
||||
-- ██████╗ ██████╗ ██████╗ ████████╗██╗███████╗███████╗████████╗
|
||||
-- ██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝╚══██╔══╝
|
||||
-- ██████╔╝██║ ██║██║ ██║ ██║ ██║█████╗ ███████╗ ██
|
||||
-- ██╔══██╗██║ ██║██║ ██║ ██║ ██║██╔══╝ ╚════██║ ██║
|
||||
-- ██║ ██║╚██████╔╝╚██████╔╝ ██║ ██║███████╗███████║ ██║
|
||||
-- ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝
|
||||
--
|
||||
-- ███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
|
||||
-- ████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
|
||||
-- ██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
|
||||
-- ██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
|
||||
-- ██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||
-- ╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||
--
|
||||
-- ,l; c,
|
||||
-- .:ooool' loo:.
|
||||
-- .,oooooooo:. looooc, /VVVVVVVV\++++ /VVVVVVVV\
|
||||
-- ll:,loooooool, looooool \VVVVVVVV/++++++\VVVVVVVV/
|
||||
-- llll,;ooooooooc. looooooo |VVVVVV|++++++++/VVVVV/'
|
||||
-- lllllc,coooooooo; looooooo |VVVVVV|++++++/VVVVV/'
|
||||
-- lllllll;,loooooool' looooooo +|VVVVVV|++++/VVVVV/'+
|
||||
-- lllllllc .:oooooooo:. looooooo +++|VVVVVV|++/VVVVV/'+++++
|
||||
-- lllllllc 'loooooool,:ooooooo +++++|VVVVVV|/VVV___++++++++++
|
||||
-- lllllllc ;ooooooooc,cooooo +++|VVVVVVVVVV/##/ +_+_+_+
|
||||
-- lllllllc .coooooooo;;looo +|VVVVVVVVV___ +/#_#,#_#,\
|
||||
-- lllllllc ,loooooool,:ol |VVVVVVV//##/+/#/+/#/'/#/
|
||||
-- 'cllllc .:oooooooo;. |VVVVV/'+/#/+/#/+/#/ /#/
|
||||
-- .;llc .loooo:. |VVV/'++/#/+/#/ /#/ /#/
|
||||
-- ,; ;l; 'V/' /##//##//##//###/
|
||||
--
|
||||
-- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||||
-- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||||
-- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Rootiest NVim ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||||
-- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ Configuration ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||||
-- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||||
-- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
|
||||
-- The rootiest NeoVim configuration!
|
||||
--[[
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ Rootiest Neovim │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
--]]
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PROFILING ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Load profiling package if startup profiler triggered
|
||||
require('config.profiler')
|
||||
-- Copyright (C) 2026 Rootiest
|
||||
-- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ROOTIEST ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Rootiest Configuration
|
||||
require('config.rootiest').setup() -- Set up Rootiest options
|
||||
-- Trigger bootstrap (runtime path, etc.)
|
||||
require("bootstrap")
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LAZY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Load Lazy package manager and plugins
|
||||
require('config.lazy') -- Bootstrap lazy.nvim and initialize plugins
|
||||
-- Initialize global registry
|
||||
_G.Config = {
|
||||
plugins = {},
|
||||
called = {},
|
||||
}
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ROCKS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Load LuaRocks package manager and plugins
|
||||
require('config.rocks') -- Bootstrap LuaRocks and initialize plugins
|
||||
-- Load core modules
|
||||
require("lazyload") -- Plugin lazy-loading module
|
||||
require("options") -- Configuration options
|
||||
require("plugins") -- Plugin specifications and setup
|
||||
require("keymaps") -- Key mappings
|
||||
|
||||
-- ╔═════════════════════════════════════════════════════════╗
|
||||
-- ║ CONFIGURATION STRUCTURE ║
|
||||
-- ╚═════════════════════════════════════════════════════════╝
|
||||
-- ╭─────────────────────────────────────────────────────────────────────╮
|
||||
-- │ Configuration modules are organized into categories: │
|
||||
-- │ - Options │
|
||||
-- │ - Keymaps │
|
||||
-- │ - Autocommands │
|
||||
-- │ - Utility functions │
|
||||
-- │ - Plugins │
|
||||
-- │ - Commands │
|
||||
-- │ - Dashboards │
|
||||
-- │ - Types │
|
||||
-- │ - Dependencies │
|
||||
-- ╰─────────────────────────────────────────────────────────────────────╯
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ OPTIONS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Neovim options are configured in the lua/config/options.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ KEYMAPS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Keymaps are configured in the lua/data/keys.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ AUTOCOMMANDS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Autocommands are configured in the lua/config/autocmds.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ UTILITY FUNCTIONS ━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Utility functions can be found in the lua/data/func.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PLUGINS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Plugin specs are defined in the lua/config/plugins.lua file
|
||||
-- Plugin keys, cmds, dependencies, and opts/config tables are
|
||||
-- defined in the lua/data/*.lua files. All plugin configurations
|
||||
-- are defined in a centralized location to keep them organised.
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ COMMANDS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- User and plugin commands are configured in the lua/data/cmds.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DASHBOARDS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Dashboard configurations can be found in the lua/data/dash.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ TYPES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Plugin configuration tables are located in the lua/data/types.lua file
|
||||
|
||||
---━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DEPENDENCIES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Plugin depenendencies are defined in the lua/data/deps.lua file
|
||||
-- Source machine-local and secret overrides (silently ignored if absent)
|
||||
local user_dots = vim.fn.expand("~/.config/.user-dots/nvim/")
|
||||
for _, file in ipairs({ "secrets.lua", "local.lua" }) do
|
||||
local path = user_dots .. file
|
||||
if vim.fn.filereadable(path) == 1 then
|
||||
dofile(path)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;3;0;1m [0m[38;2;78;0;22m [0m[38;2;130;0;37m [0m[38;2;163;0;47m.[0m[38;2;188;0;54m.[0m[38;2;202;0;58m.[0m[38;2;199;0;57m.[0m[38;2;193;0;55m.[0m[38;2;185;0;53m.[0m[38;2;176;0;51m.[0m[38;2;167;0;48m.[0m[38;2;158;0;45m.[0m[38;2;150;0;43m.[0m[38;2;145;0;42m.[0m[38;2;142;0;41m [0m[38;2;142;0;41m [0m[38;2;149;0;43m.[0m[38;2;163;0;47m.[0m[38;2;173;0;50m.[0m[38;2;143;0;41m [0m[38;2;136;0;39m [0m[38;2;125;0;36m [0m[38;2;71;0;20m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;31;57;40m.[0m[38;2;78;134;77mc[0m[38;2;103;164;79md[0m[38;2;63;93;34m,[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;46;68;25m.[0m[38;2;100;147;54ml[0m[38;2;59;87;32m'[0m[38;2;3;5;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;21;0;6m [0m[38;2;110;0;31m [0m[38;2;168;0;48m.[0m[38;2;209;0;60m.[0m[38;2;240;0;69m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;238;0;68m.[0m[38;2;200;0;58m.[0m[38;2;171;0;49m.[0m[38;2;157;0;45m.[0m[38;2;134;0;38m [0m[38;2;63;0;18m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;27;0;7m [0m[38;2;84;0;24m [0m[38;2;66;0;19m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;2;3m [0m[38;2;48;86;55m'[0m[38;2;87;149;84ml[0m[38;2;108;185;97mx[0m[38;2;110;187;96mx[0m[38;2;114;182;83mx[0m[38;2;118;176;64mx[0m[38;2;94;140;51ml[0m[38;2;31;47;17m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;46;68;25m.[0m[38;2;120;177;66mx[0m[38;2;120;177;66mx[0m[38;2;108;160;59mo[0m[38;2;73;109;40m;[0m[38;2;22;33;12m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;20;0;5m [0m[38;2;127;0;36m [0m[38;2;195;0;56m.[0m[38;2;240;0;69m.[0m[38;2;251;0;72m.[0m[38;2;240;0;69m.[0m[38;2;208;0;60m.[0m[38;2;173;0;50m.[0m[38;2;136;0;39m [0m[38;2;99;0;28m [0m[38;2;59;0;17m [0m[38;2;9;0;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;15;30;24m [0m[38;2;62;110;66m;[0m[38;2;94;163;91mo[0m[38;2;108;184;96mx[0m[38;2;108;184;96mx[0m[38;2;108;184;96mx[0m[38;2;108;184;96mx[0m[38;2;112;179;82mx[0m[38;2;116;174;64md[0m[38;2;116;174;64md[0m[38;2;111;166;62md[0m[38;2;67;101;37m;[0m[38;2;1;2;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;43;64;23m.[0m[38;2;117;174;65md[0m[38;2;117;174;65md[0m[38;2;117;174;65md[0m[38;2;117;174;65md[0m[38;2;112;168;62md[0m[38;2;84;126;47mc[0m[38;2;40;60;22m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;48;0;14m [0m[38;2;164;0;47m.[0m[38;2;233;0;67m.[0m[38;2;251;0;72m.[0m[38;2;235;0;68m.[0m[38;2;182;0;52m.[0m[38;2;110;0;32m [0m[38;2;16;0;4m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;5;45;64m.[0m[38;2;37;100;115m,[0m[38;2;98;171;96md[0m[38;2;105;182;94mx[0m[38;2;105;182;94mx[0m[38;2;105;182;94mx[0m[38;2;105;182;94mx[0m[38;2;105;182;94mx[0m[38;2;105;182;94mx[0m[38;2;109;177;81mx[0m[38;2;113;172;64md[0m[38;2;113;172;64md[0m[38;2;113;172;64md[0m[38;2;113;172;64md[0m[38;2;93;143;54ml[0m[38;2;36;56;21m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;40;61;22m.[0m[38;2;113;171;64md[0m[38;2;113;171;64md[0m[38;2;113;171;64md[0m[38;2;113;171;64md[0m[38;2;113;171;64md[0m[38;2;113;171;64md[0m[38;2;113;170;64md[0m[38;2;93;141;52ml[0m[38;2;57;86;32m'[0m[38;2;5;7;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;16;0;4m [0m[38;2;153;0;44m.[0m[38;2;238;0;69m.[0m[38;2;251;0;72m.[0m[38;2;225;0;65m.[0m[38;2;139;0;40m [0m[38;2;22;0;6m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;7;56;81m.[0m[38;2;14;115;166m;[0m[38;2;17;141;202mc[0m[38;2;17;137;195mc[0m[38;2;44;135;167mc[0m[38;2;91;167;116md[0m[38;2;103;179;93mx[0m[38;2;103;179;93mx[0m[38;2;103;179;93mx[0m[38;2;103;179;93mx[0m[38;2;103;179;93mx[0m[38;2;107;175;81md[0m[38;2;110;170;64md[0m[38;2;110;170;64md[0m[38;2;110;170;64md[0m[38;2;110;170;64md[0m[38;2;110;170;64md[0m[38;2;107;165;62md[0m[38;2;70;108;40m;[0m[38;2;7;11;4m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;37;57;21m.[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;110;168;63md[0m[38;2;100;153;58mo[0m[38;2;68;105;39m;[0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;73;0;21m [0m[38;2;215;0;62m.[0m[38;2;251;0;72m.[0m[38;2;248;0;71m.[0m[38;2;166;0;48m.[0m[38;2;24;0;7m [0m[38;2;0;0;0m [0m[38;2;52;0;15m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;11;94;136m,[0m[38;2;17;140;202mc[0m[38;2;17;140;202mc[0m[38;2;17;140;202mc[0m[38;2;16;139;201mc[0m[38;2;18;129;186m:[0m[38;2;66;145;144ml[0m[38;2;98;173;97md[0m[38;2;101;176;92md[0m[38;2;101;176;92md[0m[38;2;101;176;92md[0m[38;2;104;172;79md[0m[38;2;107;168;63md[0m[38;2;107;168;63md[0m[38;2;107;168;63md[0m[38;2;107;168;63md[0m[38;2;107;168;63md[0m[38;2;107;168;63md[0m[38;2;107;168;63md[0m[38;2;92;145;54ml[0m[38;2;40;64;24m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;34;53;20m.[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;107;165;62md[0m[38;2;105;162;61mo[0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;82;0;23m [0m[38;2;233;0;67m.[0m[38;2;251;0;72m.[0m[38;2;247;0;71m.[0m[38;2;128;0;37m [0m[38;2;137;0;39m [0m[38;2;197;0;57m.[0m[38;2;176;0;51m.[0m[38;2;100;0;29m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;11;92;135m,[0m[38;2;17;136;200mc[0m[38;2;17;136;200mc[0m[38;2;17;136;200mc[0m[38;2;17;136;200mc[0m[38;2;17;136;200mc[0m[38;2;16;132;194mc[0m[38;2;36;128;170mc[0m[38;2;83;158;119mo[0m[38;2;98;174;91md[0m[38;2;98;174;91md[0m[38;2;101;170;79md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;104;166;62md[0m[38;2;103;163;61mo[0m[38;2;71;113;42m;[0m[38;2;13;20;7m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;32;50;19m.[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;104;162;62mo[0m[38;2;102;160;61mo[0m[38;2;0;0;0m [0m
|
||||
[38;2;44;0;12m [0m[38;2;227;0;65m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;223;0;64m.[0m[38;2;229;0;66m.[0m[38;2;235;0;68m.[0m[38;2;115;0;33m [0m[38;2;0;0;0m [0m[38;2;1;0;0m [0m[38;2;115;0;33m [0m[38;2;55;0;16m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;11;90;133m'[0m[38;2;17;133;198mc[0m[38;2;17;133;198mc[0m[38;2;17;133;198mc[0m[38;2;17;133;198mc[0m[38;2;17;133;198mc[0m[38;2;17;133;198mc[0m[38;2;16;133;197mc[0m[38;2;16;125;186m:[0m[38;2;58;137;146mc[0m[38;2;91;167;98md[0m[38;2;98;168;78md[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;102;164;62mo[0m[38;2;91;146;56ml[0m[38;2;44;71;27m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;29;46;17m.[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;100;159;61mo[0m[38;2;99;157;60mo[0m[38;2;0;0;0m [0m
|
||||
[38;2;173;0;50m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;225;0;65m.[0m[38;2;68;0;19m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;59;0;17m [0m[38;2;186;0;54m.[0m[38;2;205;0;59m.[0m[38;2;159;0;46m.[0m[38;2;103;0;29m [0m[38;2;26;0;7m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;11;87;132m'[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;17;129;195m:[0m[38;2;16;127;192m:[0m[38;2;30;121;170m:[0m[38;2;78;144;104ml[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;99;162;62mo[0m[38;2;98;160;62mo[0m[38;2;71;117;45m:[0m[38;2;17;28;11m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;26;42;16m.[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;97;156;60mo[0m[38;2;96;155;60mo[0m[38;2;0;0;0m [0m
|
||||
[38;2;233;0;67m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;244;0;70m.[0m[38;2;87;0;25m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;102;0;29m [0m[38;2;198;0;57m.[0m[38;2;246;0;71m.[0m[38;2;247;0;71m.[0m[38;2;226;0;65m.[0m[38;2;207;0;59m.[0m[38;2;187;0;54m.[0m[38;2;166;0;48m.[0m[38;2;148;0;43m.[0m[38;2;127;0;36m [0m[38;2;97;0;28m [0m[38;2;61;0;17m [0m[38;2;11;0;3m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;85;130m'[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;15;126;193m:[0m[38;2;11;89;137m'[0m[38;2;53;87;34m'[0m[38;2;91;150;58ml[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;96;160;62mo[0m[38;2;89;147;57ml[0m[38;2;46;77;29m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;23;38;15m [0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;94;153;60mo[0m[38;2;93;152;59mo[0m[38;2;0;0;0m [0m
|
||||
[38;2;249;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;179;0;51m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;49;0;14m [0m[38;2;138;0;40m [0m[38;2;191;0;55m.[0m[38;2;226;0;65m.[0m[38;2;249;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;249;0;72m.[0m[38;2;238;0;69m.[0m[38;2;226;0;65m.[0m[38;2;212;0;61m.[0m[38;2;193;0;56m.[0m[38;2;172;0;49m.[0m[38;2;144;0;41m [0m[38;2;103;0;29m [0m[38;2;38;0;11m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;39;0;11m [0m[38;2;97;0;28m [0m[38;2;139;0;40m [0m[38;2;171;0;49m.[0m[38;2;121;0;35m [0m[38;2;0;0;0m [0m[38;2;10;82;128m'[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;15;122;190m:[0m[38;2;10;88;138m'[0m[38;2;0;0;0m [0m[38;2;22;37;14m [0m[38;2;72;121;46m:[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;93;157;60mo[0m[38;2;71;121;46m:[0m[38;2;21;35;13m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;20;34;13m [0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;91;150;59ml[0m[38;2;90;150;59ml[0m[38;2;0;0;0m [0m
|
||||
[38;2;246;0;71m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;120;0;34m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;38;0;11m [0m[38;2;105;0;30m [0m[38;2;144;0;41m [0m[38;2;168;0;48m.[0m[38;2;188;0;54m.[0m[38;2;205;0;59m.[0m[38;2;220;0;63m.[0m[38;2;236;0;68m.[0m[38;2;249;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;249;0;72m.[0m[38;2;224;0;65m.[0m[38;2;190;0;55m.[0m[38;2;139;0;40m [0m[38;2;54;0;15m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;60;0;17m [0m[38;2;174;0;50m.[0m[38;2;215;0;62m.[0m[38;2;237;0;68m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;242;0;70m.[0m[38;2;122;0;35m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;80;127m'[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;15;118;188m:[0m[38;2;10;86;136m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;44;76;29m.[0m[38;2;83;143;56ml[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;90;156;61mo[0m[38;2;85;147;57ml[0m[38;2;48;84;33m'[0m[38;2;0;0;0m [0m[38;2;18;30;12m [0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;87;147;58ml[0m[38;2;0;0;0m [0m
|
||||
[38;2;214;0;62m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;85;0;24m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;55;0;16m [0m[38;2;45;0;13m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;63;0;18m [0m[38;2;154;0;44m.[0m[38;2;150;0;43m.[0m[38;2;113;0;32m [0m[38;2;84;0;24m [0m[38;2;67;0;19m [0m[38;2;95;0;27m [0m[38;2;134;0;38m [0m[38;2;176;0;51m.[0m[38;2;222;0;64m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;247;0;71m.[0m[38;2;207;0;60m.[0m[38;2;176;0;51m.[0m[38;2;159;0;46m.[0m[38;2;151;0;43m.[0m[38;2;149;0;43m.[0m[38;2;129;0;37m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;81;0;23m [0m[38;2;233;0;67m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;236;0;68m.[0m[38;2;98;0;28m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;78;126m'[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;15;115;186m;[0m[38;2;10;83;135m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;14;26;10m [0m[38;2;63;111;44m;[0m[38;2;86;152;61ml[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;62mo[0m[38;2;87;154;61mo[0m[38;2;70;124;49m:[0m[38;2;29;51;20m.[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;84;144;58ml[0m[38;2;4;8;3m [0m
|
||||
[38;2;132;0;38m [0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;152;0;44m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;193;0;56m.[0m[38;2;117;0;33m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;5;0;1m [0m[38;2;113;0;32m [0m[38;2;178;0;51m.[0m[38;2;218;0;63m.[0m[38;2;244;0;70m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;123;0;35m [0m[38;2;0;0;0m [0m[38;2;8;0;2m [0m[38;2;200;0;58m.[0m[38;2;248;0;71m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;218;0;63m.[0m[38;2;75;0;21m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;75;123m.[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;15;111;183m;[0m[38;2;10;80;132m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;36;64;26m.[0m[38;2;76;135;55mc[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;85;152;62ml[0m[38;2;82;146;59ml[0m[38;2;84;149;60ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;81;141;57ml[0m[38;2;7;14;5m [0m
|
||||
[38;2;0;0;0m [0m[38;2;189;0;54m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;229;0;66m.[0m[38;2;48;0;13m [0m[38;2;0;0;0m [0m[38;2;82;0;23m [0m[38;2;249;0;72m.[0m[38;2;162;0;47m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;62;0;17m [0m[38;2;151;0;43m.[0m[38;2;166;0;48m.[0m[38;2;174;0;50m.[0m[38;2;183;0;53m.[0m[38;2;195;0;56m.[0m[38;2;211;0;61m.[0m[38;2;241;0;70m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;187;0;54m.[0m[38;2;15;0;4m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;189;0;54m.[0m[38;2;123;0;35m [0m[38;2;244;0;70m.[0m[38;2;251;0;72m.[0m[38;2;117;0;34m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;73;122m.[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;15;108;181m;[0m[38;2;10;78;131m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;9;16;6m [0m[38;2;55;100;40m,[0m[38;2;80;146;59ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;149;60ml[0m[38;2;82;150;60ml[0m[38;2;88;159;65mo[0m[38;2;85;153;62ml[0m[38;2;79;141;57ml[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;77;138;56mc[0m[38;2;9;17;6m [0m
|
||||
[38;2;0;0;0m [0m[38;2;23;0;6m [0m[38;2;193;0;55m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;214;0;62m.[0m[38;2;65;0;18m [0m[38;2;125;0;36m [0m[38;2;251;0;72m.[0m[38;2;228;0;66m.[0m[38;2;33;0;9m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;59;0;17m [0m[38;2;150;0;43m.[0m[38;2;201;0;58m.[0m[38;2;234;0;67m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;219;0;63m.[0m[38;2;150;0;43m.[0m[38;2;92;0;26m [0m[38;2;78;0;22m [0m[38;2;165;0;47m.[0m[38;2;251;0;72m.[0m[38;2;223;0;64m.[0m[38;2;8;0;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;70;121m.[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;15;104;179m;[0m[38;2;10;75;129m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;29;54;22m.[0m[38;2;68;127;51m:[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;79;148;60ml[0m[38;2;85;156;64mo[0m[38;2;85;156;64mo[0m[38;2;84;155;64mo[0m[38;2;79;145;59ml[0m[38;2;74;136;55mc[0m[38;2;74;135;55mc[0m[38;2;74;135;55mc[0m[38;2;74;135;55mc[0m[38;2;74;135;55mc[0m[38;2;74;135;55mc[0m[38;2;74;135;55mc[0m[38;2;10;20;8m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;3;0;0m [0m[38;2;158;0;45m.[0m[38;2;246;0;71m.[0m[38;2;251;0;72m.[0m[38;2;239;0;69m.[0m[38;2;174;0;50m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;190;0;55m.[0m[38;2;6;0;1m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;51;0;14m [0m[38;2;99;0;28m [0m[38;2;121;0;35m [0m[38;2;140;0;40m [0m[38;2;150;0;43m.[0m[38;2;164;0;47m.[0m[38;2;183;0;53m.[0m[38;2;215;0;62m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;239;0;69m.[0m[38;2;90;0;26m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;10;68;119m.[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;15;101;176m,[0m[38;2;10;73;127m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;4;8;3m [0m[38;2;48;90;37m'[0m[38;2;74;140;57mc[0m[38;2;76;145;60ml[0m[38;2;76;145;60ml[0m[38;2;76;145;60ml[0m[38;2;76;145;60ml[0m[38;2;76;145;60ml[0m[38;2;76;145;60ml[0m[38;2;76;145;60ml[0m[38;2;81;154;63ml[0m[38;2;81;154;64ml[0m[38;2;81;154;64ml[0m[38;2;81;154;64ml[0m[38;2;79;149;62ml[0m[38;2;73;136;56mc[0m[38;2;71;133;54mc[0m[38;2;71;133;54mc[0m[38;2;71;133;54mc[0m[38;2;71;133;54mc[0m[38;2;71;133;54mc[0m[38;2;11;22;9m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;86;0;25m [0m[38;2;202;0;58m.[0m[38;2;250;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;198;0;57m.[0m[38;2;59;0;17m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;9;0;2m [0m[38;2;93;0;27m [0m[38;2;138;0;40m [0m[38;2;168;0;48m.[0m[38;2;186;0;53m.[0m[38;2;195;0;56m.[0m[38;2;198;0;57m.[0m[38;2;246;0;71m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;227;0;65m.[0m[38;2;92;0;26m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;5;38;68m [0m[38;2;12;78;140m'[0m[38;2;14;96;172m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;14;97;174m,[0m[38;2;10;70;126m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;23;45;18m.[0m[38;2;61;117;49m:[0m[38;2;74;143;59ml[0m[38;2;74;143;60ml[0m[38;2;74;143;60ml[0m[38;2;74;143;60ml[0m[38;2;74;143;60ml[0m[38;2;74;143;60ml[0m[38;2;78;152;63ml[0m[38;2;78;152;64ml[0m[38;2;78;152;64ml[0m[38;2;78;152;64ml[0m[38;2;78;152;64ml[0m[38;2;78;151;63ml[0m[38;2;73;141;59mc[0m[38;2;68;130;54mc[0m[38;2;68;130;54mc[0m[38;2;64;121;50m:[0m[38;2;46;88;36m'[0m[38;2;6;11;4m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;97;0;28m [0m[38;2;192;0;55m.[0m[38;2;244;0;70m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;240;0;69m.[0m[38;2;172;0;50m.[0m[38;2;74;0;21m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;44;0;12m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;23;0;6m [0m[38;2;135;0;39m [0m[38;2;223;0;64m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;242;0;70m.[0m[38;2;169;0;49m.[0m[38;2;37;0;10m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;4;28;52m [0m[38;2;9;65;120m.[0m[38;2;13;88;162m'[0m[38;2;14;93;172m,[0m[38;2;14;93;172m,[0m[38;2;14;93;172m,[0m[38;2;14;93;172m,[0m[38;2;14;93;172m,[0m[38;2;14;93;172m,[0m[38;2;10;67;124m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;40;80;33m'[0m[38;2;67;134;56mc[0m[38;2;70;141;59mc[0m[38;2;70;141;59mc[0m[38;2;70;141;59mc[0m[38;2;70;141;59mc[0m[38;2;75;149;63ml[0m[38;2;75;149;63ml[0m[38;2;75;149;63ml[0m[38;2;75;149;63ml[0m[38;2;75;149;63ml[0m[38;2;75;149;63ml[0m[38;2;75;149;63ml[0m[38;2;64;126;53m:[0m[38;2;36;71;30m.[0m[38;2;7;13;5m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;50;0;14m [0m[38;2;147;0;42m.[0m[38;2;204;0;59m.[0m[38;2;243;0;70m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;250;0;72m.[0m[38;2;218;0;63m.[0m[38;2;176;0;51m.[0m[38;2;132;0;38m [0m[38;2;77;0;22m [0m[38;2;5;0;1m [0m[38;2;70;0;20m [0m[38;2;126;0;36m [0m[38;2;149;0;43m.[0m[38;2;130;0;37m [0m[38;2;76;0;22m [0m[38;2;8;0;2m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;22;0;6m [0m[38;2;92;0;26m [0m[38;2;145;0;42m.[0m[38;2;195;0;56m.[0m[38;2;239;0;69m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;223;0;64m.[0m[38;2;161;0;46m.[0m[38;2;55;0;15m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;1;12;23m [0m[38;2;8;53;98m.[0m[38;2;12;79;147m'[0m[38;2;13;90;169m,[0m[38;2;14;90;169m,[0m[38;2;14;90;169m,[0m[38;2;14;90;169m,[0m[38;2;10;65;122m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;17;34;14m [0m[38;2;53;109;45m;[0m[38;2;68;139;58mc[0m[38;2;68;139;58mc[0m[38;2;68;139;58mc[0m[38;2;72;146;62ml[0m[38;2;72;147;62ml[0m[38;2;72;147;62ml[0m[38;2;72;147;62ml[0m[38;2;70;144;61ml[0m[38;2;56;114;48m;[0m[38;2;31;63;27m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;29;0;8m [0m[38;2;116;0;33m [0m[38;2;171;0;49m.[0m[38;2;211;0;61m.[0m[38;2;240;0;69m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;243;0;70m.[0m[38;2;223;0;64m.[0m[38;2;206;0;59m.[0m[38;2;190;0;55m.[0m[38;2;203;0;58m.[0m[38;2;226;0;65m.[0m[38;2;244;0;70m.[0m[38;2;233;0;67m.[0m[38;2;223;0;64m.[0m[38;2;216;0;62m.[0m[38;2;214;0;62m.[0m[38;2;216;0;62m.[0m[38;2;223;0;64m.[0m[38;2;234;0;67m.[0m[38;2;248;0;71m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;239;0;69m.[0m[38;2;206;0;59m.[0m[38;2;160;0;46m.[0m[38;2;87;0;25m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;5;37;71m [0m[38;2;10;67;130m.[0m[38;2;13;84;164m'[0m[38;2;14;86;167m'[0m[38;2;10;62;121m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;33;69;29m.[0m[38;2;60;128;54m:[0m[38;2;65;138;58mc[0m[38;2;69;144;62ml[0m[38;2;69;144;62ml[0m[38;2;64;134;58mc[0m[38;2;47;97;42m,[0m[38;2;18;38;16m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;68;0;19m [0m[38;2;118;0;34m [0m[38;2;153;0;44m.[0m[38;2;178;0;51m.[0m[38;2;195;0;56m.[0m[38;2;211;0;61m.[0m[38;2;223;0;64m.[0m[38;2;232;0;67m.[0m[38;2;240;0;69m.[0m[38;2;246;0;71m.[0m[38;2;249;0;72m.[0m[38;2;251;0;72m.[0m[38;2;251;0;72m.[0m[38;2;249;0;72m.[0m[38;2;244;0;70m.[0m[38;2;238;0;69m.[0m[38;2;231;0;66m.[0m[38;2;220;0;63m.[0m[38;2;206;0;59m.[0m[38;2;188;0;54m.[0m[38;2;163;0;47m.[0m[38;2;129;0;37m [0m[38;2;77;0;22m [0m[38;2;2;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;3;21;42m [0m[38;2;9;55;111m.[0m[38;2;8;52;105m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;11;25;11m [0m[38;2;46;100;43m,[0m[38;2;56;120;52m:[0m[38;2;36;77;33m.[0m[38;2;6;14;6m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
@@ -1,19 +0,0 @@
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;66;67;66m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;16;0;10m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;235;156;210m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;0;0;0m[48;2;235;156;210m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;236;155;209m[48;2;236;155;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;255;255;255m[48;2;235;156;210m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;247;254m[48;2;224;167;204m▀[0m[38;2;224;167;204m[48;2;188;85;152m▀[0m[38;2;235;156;210m[48;2;176;97;150m▀[0m[38;2;176;97;150m[48;2;176;97;150m▀[0m[38;2;178;97;153m[48;2;178;97;153m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;255;247;254m[48;2;255;247;254m▀[0m[38;2;235;156;210m[48;2;74;57;68m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;255;255;255m[48;2;235;156;210m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;176;97;150m[48;2;176;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;153m[48;2;178;97;153m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;107;49;85m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;210m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;84;55;75m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;84;55;75m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;255;255;255m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;176;97;150m[48;2;176;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;153m[48;2;178;97;153m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;236;155;209m[48;2;236;155;209m▀[0m[38;2;84;55;75m[48;2;235;156;210m▀[0m[38;2;84;55;75m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;107;49;85m[48;2;107;49;85m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;210m[48;2;176;97;150m▀[0m[38;2;176;97;150m[48;2;176;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;153m[48;2;178;97;153m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;236;155;209m[48;2;255;255;255m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;84;55;75m[48;2;84;55;75m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;255;255;255m[48;2;236;155;209m▀[0m[38;2;90;57;79m[48;2;166;104;147m▀[0m[38;2;235;156;210m[48;2;90;57;79m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;107;49;85m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;150m[48;2;178;97;150m▀[0m[38;2;178;97;153m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;255;255;255m[48;2;0;0;0m▀[0m[38;2;255;255;255m[48;2;16;0;11m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;66;65;66m[48;2;235;156;210m▀[0m[38;2;235;156;210m[48;2;235;156;210m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;235;156;209m[48;2;235;156;209m▀[0m[38;2;176;97;150m[48;2;176;97;150m▀[0m[38;2;176;97;150m[48;2;235;156;210m▀[0m[38;2;164;103;142m[48;2;0;0;0m▀[0m[38;2;246;155;214m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;107;49;85m[48;2;0;0;0m▀[0m[38;2;90;57;79m[48;2;90;57;79m▀[0m[38;2;90;57;79m[48;2;255;255;255m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;107;49;85m▀[0m[38;2;235;156;210m[48;2;84;55;72m▀[0m[38;2;235;156;210m[48;2;16;0;10m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;133;26;94m▀[0m[38;2;133;26;94m[48;2;133;26;94m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;214;107;175m▀[0m[38;2;214;107;175m[48;2;214;107;175m▀[0m[38;2;133;26;94m[48;2;0;0;0m▀[0m[38;2;133;26;94m[48;2;133;26;94m▀[0m[38;2;0;0;0m[48;2;134;27;95m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;255;255;255m[48;2;0;0;0m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;210;181;200m▀[0m[38;2;255;255;255m[48;2;178;97;153m▀[0m[38;2;178;97;153m[48;2;178;97;153m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;133;26;94m[48;2;0;0;0m▀[0m[38;2;133;26;94m[48;2;0;0;0m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;68;63;69m▀[0m[38;2;207;189;207m[48;2;68;63;69m▀[0m[38;2;206;189;205m[48;2;206;189;205m▀[0m[38;2;206;189;205m[48;2;206;189;205m▀[0m[38;2;206;189;205m[48;2;206;189;205m▀[0m[38;2;206;189;205m[48;2;206;189;205m▀[0m[38;2;207;189;207m[48;2;207;189;207m▀[0m[38;2;0;0;0m[48;2;68;63;69m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;189;141;49m[48;2;0;0;0m▀[0m[38;2;189;141;49m[48;2;0;0;0m▀[0m[38;2;189;141;49m[48;2;0;0;0m▀[0m[38;2;189;141;49m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;82;63;43m[48;2;0;0;24m▀[0m[38;2;82;63;43m[48;2;247;190;82m▀[0m[38;2;85;63;35m[48;2;255;189;74m▀[0m[38;2;0;0;16m[48;2;255;189;74m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;255;194;66m[48;2;0;0;0m▀[0m[38;2;170;130;44m[48;2;0;0;0m▀[0m[38;2;255;194;66m[48;2;255;194;66m▀[0m[38;2;172;130;44m[48;2;8;4;0m▀[0m[38;2;255;189;66m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀
|
||||
[0m
|
||||
@@ -1,33 +0,0 @@
|
||||
,,,:,:;lc::clllc::,:,,,
|
||||
.:,c:c,,lc;::,,', .';:ldcdoc:,.
|
||||
.,:;:....:oo::;;. ,; ':cllc .cd; l:.
|
||||
.;c;'...,;;;,;;''';:, .. ,oxxxxo. oxxl'
|
||||
;c;...,l::, .cdxxxxxdddc oxxxxo:.
|
||||
cl,..,o;, ;oxxxxxxxxddddd; odddddddl'
|
||||
,c'..;;' .;dxxxxxxxxxxddddddl. ldddddddddo:.
|
||||
.c;..:;. :ccccc:odxxxxxxddddddddddo, lddddddddddddddl
|
||||
,:...l. .,. ccccccc:codddddddddddddddddl. lddddddddddddddo
|
||||
;:..'c.,:coc. :cccccccc:cdddddddddddddddddo: cooooooooooooooo
|
||||
';...c:o,:: . :ccccccccc::ldddddddddddddddddl' cooooooooooooooo
|
||||
,o....c'.;' ,x;. :cccccccccc:::odooooooooooooooooc. cooooooooooooooo
|
||||
c......'o ,c:c;. ::::::::::::::;:oooooooooooooooooo; cooooooooooooool
|
||||
.c......c .:c.;:;;,. :::::::::::::::, :oooooooooooooooool. :ooooooooooooool
|
||||
o'.....c; .;:....,c;,:,,,,'. :::::::::::::::, .cooooooooooooooooo:. :lllllllllllllll
|
||||
c......l ;c:'.........';c:c;::;' ,;:cc ;::::::::::::::, ,looooooooooooooool, :lllllllllllllll
|
||||
c.....,, ;;,,:l;'...........':l;;'; ,,';:cc,c:. ;::::::::::::::, :oooooooooooooooooc. :lllllllllllllll
|
||||
l'....c' ,:,:::cc:'.........'::: 'o,......:, ;;;;;;;;;;;;;;;' .cooooooooooooooool:.;lllllllllllllll
|
||||
,;....l : ll:,. ,,,cl;........:c,;',;;: :c.......l' ;;;;;;;;;;;;;;;' ,llllllllllllllllllcllllllllllllllc
|
||||
:....:' ,o. 'l;,cl;::;lc,...............:: ,:......'o. ;;;;;;;;;;;;;;;' ;lllllllllllllllloolccccccccccccc
|
||||
l;...'; o:d .'::c,....................; kl;....'c ,;;;;;;;;;;;;;;' .cllllllllllllllloolcccccccccccc
|
||||
c....o. '''l cl::,:cc;c,...........;: lccc..;o ,;;;;;;;;;;;;;;' ,lllllllllllllloooolcccccccccc
|
||||
o...'c :..c .lc;:ccc:;'............;:. :c c..d. ,,,,,,,,,,,,,,,' .:llllllllllllllllllccccccccc
|
||||
:'..'l.:..;c ;:cc;'................;c::c,.,; ',,,,,,,,,,,,,,' .cllllllllllllllllllcccccc:
|
||||
:,...:c,..l. ..;'c::c:co,............'o .',,,,,,,,,,,,. ,ccccccccllllllllllc::;.
|
||||
,c,...'...:, ',cll,'.............;: .',,,,,,,,,. .;ccccccllllllllllc,.
|
||||
:l'......;c .':oo.........c; ..,,,,,,,. .:ccccclllllll:'
|
||||
;c,......:;. :; .c:........;:. .',,,,. 'ccccllllc,.
|
||||
;:c'.....;:,; ,l:'. .,:;........:l' ..''. .;cccc:.
|
||||
,::,.....';:;;,,':l:;,;;.',,,'';;,::,........,l;. .. .:,.
|
||||
,;;:;'......,:c:ol;...',,,''..........':c;,
|
||||
.,,;:c:'....................';c:;;,
|
||||
,,,:,::;:llllc,:c,:;;'.
|
||||
|
Before Width: | Height: | Size: 9.2 KiB |
@@ -1,6 +0,0 @@
|
||||
██████╗ ██████╗ ██████╗ ████████╗██╗███████╗███████╗████████╗ ███╗ ██╗██╗ ██╗██╗███╗ ███╗
|
||||
██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝╚══██╔══╝ ████╗ ██║██║ ██║██║████╗ ████║
|
||||
██████╔╝██║ ██║██║ ██║ ██║ ██║█████╗ ███████╗ ██║ ██╔██╗ ██║██║ ██║██║██╔████╔██║
|
||||
██╔══██╗██║ ██║██║ ██║ ██║ ██║██╔══╝ ╚════██║ ██║ ██║╚██╗██║╚██╗ ██╔╝██║██║╚██╔╝██║
|
||||
██║ ██║╚██████╔╝╚██████╔╝ ██║ ██║███████╗███████║ ██║ ██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||
╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═══╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||
@@ -1,18 +0,0 @@
|
||||
[38;2;0;4;0m▄[38;2;0;4;0m▄[38;2;0;4;0m[48;2;110;109;134m▀[0m[38;2;0;4;0m[48;2;110;109;134m▀[0m[38;2;0;4;0m[48;2;110;109;134m▀[0m[38;2;0;4;0m[48;2;110;109;134m▀[0m[38;2;0;4;0m▄
|
||||
[38;2;0;4;0m[48;2;0;4;0m▀[0m[38;2;57;56;81m[48;2;114;113;138m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;0;4;0m[48;2;110;109;134m▀[0m[38;2;0;4;0m▄[38;2;0;4;0m▄[38;2;0;4;0m[48;2;94;93;118m▀[0m[38;2;0;4;0m[48;2;94;93;118m▀[0m[38;2;0;4;0m▄
|
||||
[38;2;0;4;0m▄ [38;2;0;4;0m▀[38;2;94;93;118m[48;2;0;4;0m▀[0m[38;2;111;110;135m[48;2;95;94;119m▀[0m[38;2;111;110;135m[48;2;111;110;135m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;110;109;134m▀[0m[38;2;110;109;134m[48;2;0;4;0m▀[0m[38;2;110;109;134m[48;2;0;4;0m▀[0m[38;2;109;108;133m[48;2;94;93;118m▀[0m[38;2;109;108;133m[48;2;94;93;118m▀[0m[38;2;94;93;118m[48;2;94;93;118m▀[0m[38;2;94;93;118m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;0;4;0m[48;2;99;115;127m▀[0m[38;2;0;4;0m[48;2;99;115;127m▀[0m[38;2;0;4;0m▄[38;2;66;64;66m▄[38;2;0;4;0m[48;2;99;105;107m▀[0m[38;2;66;71;71m[48;2;99;105;107m▀[0m[38;2;95;97;95m[48;2;95;97;95m▀[0m[38;2;94;93;118m[48;2;95;97;95m▀[0m[38;2;94;93;118m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀ [38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m▄[38;2;0;4;0m[48;2;99;115;127m▀[0m[38;2;99;113;132m[48;2;94;97;99m▀[0m[38;2;94;97;99m[48;2;99;113;132m▀[0m[38;2;98;114;128m[48;2;98;114;128m▀[0m[38;2;82;79;68m[48;2;82;79;68m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;54;62;63m[48;2;101;116;126m▀[0m[38;2;8;8;0m[48;2;101;116;126m▀[0m[38;2;0;4;0m▄[38;2;0;4;0m▄[38;2;0;4;0m[48;2;99;115;127m▀[0m[38;2;0;4;0m[48;2;0;4;0m▀[0m
|
||||
[38;2;0;4;0m▀[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;90;95;95m[48;2;82;77;68m▀[0m[38;2;99;113;123m[48;2;82;77;68m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;98;114;128m[48;2;98;114;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;98;114;128m[48;2;73;71;68m▀[0m[38;2;98;114;128m[48;2;73;71;68m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;0;4;0m[48;2;0;4;0m▀[0m
|
||||
[38;2;0;4;0m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;74;69;66m[48;2;255;239;132m▀[0m[38;2;74;69;66m[48;2;74;69;66m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;0;4;0m[48;2;99;115;127m▀[0m[38;2;0;4;0m▄
|
||||
[38;2;0;4;0m▀[38;2;107;117;132m[48;2;8;8;0m▀[0m[38;2;57;62;66m[48;2;57;62;66m▀[0m[38;2;255;97;57m[48;2;255;97;57m▀[0m[38;2;90;89;82m[48;2;90;89;82m▀[0m[38;2;66;65;57m[48;2;77;81;79m▀[0m[38;2;99;113;123m[48;2;66;65;57m▀[0m[38;2;66;65;66m[48;2;82;78;68m▀[0m[38;2;82;78;68m[48;2;82;78;68m▀[0m[38;2;82;81;66m[48;2;255;239;132m▀[0m[38;2;82;81;66m[48;2;82;81;66m▀[0m[38;2;66;65;57m[48;2;77;81;79m▀[0m[38;2;99;113;123m[48;2;66;65;57m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m▀[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;101;116;132m[48;2;101;116;132m▀[0m[38;2;95;98;99m[48;2;101;116;132m▀[0m[38;2;95;105;112m[48;2;95;105;112m▀[0m[38;2;255;97;57m[48;2;255;97;57m▀[0m[38;2;255;97;57m[48;2;90;91;85m▀[0m[38;2;90;91;85m[48;2;90;91;85m▀[0m[38;2;82;78;68m[48;2;82;78;68m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m▄[38;2;0;4;0m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;98;114;128m[48;2;82;79;68m▀[0m[38;2;98;113;128m[48;2;73;72;68m▀[0m[38;2;73;72;68m[48;2;73;72;68m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;105;107m[48;2;66;71;71m▀[0m[38;2;0;4;0m[48;2;99;105;107m▀[0m[38;2;0;4;0m▄[38;2;0;4;0m▄
|
||||
[38;2;0;4;0m▀[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;101;116;132m[48;2;101;116;132m▀[0m[38;2;101;116;132m[48;2;95;98;99m▀[0m[38;2;94;97;94m[48;2;94;97;94m▀[0m[38;2;94;97;94m[48;2;0;4;0m▀[0m[38;2;94;97;94m[48;2;0;4;0m▀[0m[38;2;94;97;94m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m▄[38;2;8;8;0m[48;2;74;72;66m▀[0m[38;2;74;72;66m[48;2;107;105;99m▀[0m[38;2;82;78;68m[48;2;66;65;66m▀[0m[38;2;82;78;68m[48;2;82;78;68m▀[0m[38;2;66;65;66m[48;2;82;78;68m▀[0m[38;2;66;65;66m[48;2;82;78;68m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;113;123m[48;2;66;65;66m▀[0m[38;2;88;97;104m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;82;78;68m▀[0m[38;2;66;65;66m[48;2;82;78;68m▀[0m[38;2;0;4;0m[48;2;0;4;0m▀[0m
|
||||
[38;2;0;4;0m[48;2;0;4;0m▀[0m[38;2;107;113;123m[48;2;71;76;82m▀[0m[38;2;73;71;68m[48;2;98;114;128m▀[0m[38;2;98;114;128m[48;2;73;71;68m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;90;98;96m[48;2;98;116;126m▀[0m[38;2;82;81;66m[48;2;98;116;126m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;82;81;73m[48;2;99;97;90m▀[0m[38;2;82;81;73m[48;2;66;65;57m▀[0m[38;2;82;81;66m[48;2;98;116;126m▀[0m[38;2;90;98;96m[48;2;98;116;126m▀[0m[38;2;107;113;123m[48;2;71;76;82m▀[0m[38;2;0;4;0m[48;2;107;113;123m▀[0m[38;2;0;4;0m▄
|
||||
[38;2;0;4;0m▀[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;107;117;132m[48;2;8;8;0m▀[0m[38;2;57;62;66m[48;2;57;62;66m▀[0m[38;2;94;97;99m[48;2;94;97;99m▀[0m[38;2;99;113;132m[48;2;94;97;99m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;82;79;68m[48;2;98;114;128m▀[0m[38;2;98;114;128m[48;2;82;79;68m▀[0m[38;2;99;115;127m[48;2;99;115;127m▀[0m[38;2;0;4;0m[48;2;0;4;0m▀[0m [38;2;0;4;0m▄[38;2;0;4;0m▄[38;2;0;4;0m[48;2;82;78;68m▀[0m[38;2;0;4;0m[48;2;82;78;68m▀[0m[38;2;0;5;0m[48;2;0;5;0m▀[0m[38;2;0;5;0m[48;2;0;5;0m▀[0m[38;2;0;4;0m▄
|
||||
[38;2;0;4;0m[48;2;0;4;0m▀[0m[38;2;94;97;94m[48;2;82;81;66m▀[0m[38;2;94;97;94m[48;2;94;97;94m▀[0m[38;2;99;97;99m[48;2;99;97;99m▀[0m[38;2;66;66;66m[48;2;0;4;0m▀[0m[38;2;73;71;68m[48;2;73;71;68m▀[0m[38;2;98;114;128m[48;2;98;114;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;99;115;128m[48;2;99;115;128m▀[0m[38;2;66;65;66m[48;2;99;115;127m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;99;115;127m[48;2;66;65;66m▀[0m[38;2;66;71;71m[48;2;99;105;107m▀[0m[38;2;0;4;0m[48;2;99;105;107m▀[0m[38;2;0;8;0m[48;2;107;101;99m▀[0m[38;2;0;8;0m[48;2;71;70;66m▀[0m[38;2;82;78;68m[48;2;82;78;68m▀[0m[38;2;82;78;68m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀[38;2;0;4;0m▀
|
||||
[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀ [38;2;0;4;0m▀[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;99;115;127m[48;2;0;4;0m▀[0m[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀[38;2;0;4;0m▀
|
||||
[0m
|
||||
@@ -1 +0,0 @@
|
||||
𝙀 𝙊 𝙑 𝙄 𝙈
|
||||
@@ -1,15 +0,0 @@
|
||||
███ ███
|
||||
████ ████
|
||||
████ █████
|
||||
█ ████ █████
|
||||
██ ████ █████
|
||||
███ ████ █████
|
||||
████ ████ ████
|
||||
█████ ████████
|
||||
█████ ███████
|
||||
█████ ██████
|
||||
█████ █████
|
||||
████ ████
|
||||
███ ███
|
||||
|
||||
𝙀 𝙊 𝙑 𝙄 𝙈
|
||||
@@ -1,20 +0,0 @@
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;23;43;27m [38;2;80;138;74m▒[38;2;60;88;32m░[38;2;1;2;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;70;103;38m▒[38;2;41;60;22m░[38;2;1;1;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;20;39;25m [38;2;76;134;75m▒[38;2;110;187;97m▓[38;2;111;187;95m▓[38;2;119;176;65m▓[38;2;85;127;47m▒[38;2;9;14;5m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;88;130;49m▒[38;2;120;178;66m▓[38;2;98;145;54m▒[38;2;38;56;21m░[38;2;1;1;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;18;36;23m [38;2;72;129;72m▒[38;2;108;184;96m▓[38;2;108;185;96m▓[38;2;108;185;96m▓[38;2;109;184;94m▓[38;2;116;175;65m▓[38;2;116;174;65m▓[38;2;102;154;57m▓[38;2;25;38;14m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;85;127;47m▒[38;2;117;174;65m▓[38;2;117;174;65m▓[38;2;117;175;65m▓[38;2;94;141;52m▒[38;2;35;53;20m░[38;2;0;1;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;3;27;38m [38;2;25;96;110m▒[38;2;101;178;98m▓[38;2;106;182;94m▓[38;2;106;182;94m▓[38;2;106;182;94m▓[38;2;106;182;94m▓[38;2;106;181;93m▓[38;2;113;172;65m▓[38;2;113;172;65m▓[38;2;113;172;65m▓[38;2;110;168;63m▓[38;2;48;73;28m░[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;82;124;46m▒[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;90;136;51m▒[38;2;33;49;18m░[38;2;0;0;0m [0m
|
||||
[38;2;11;90;129m▒[38;2;18;142;204m▓[38;2;17;139;200m▓[38;2;30;134;167m▓[38;2;89;169;106m▓[38;2;103;178;93m▓[38;2;103;179;93m▓[38;2;103;179;93m▓[38;2;104;178;92m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;72;112;42m▒[38;2;5;8;3m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;79;120;45m▒[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;86;132;50m▒[0m
|
||||
[38;2;15;127;183m▓[38;2;17;140;202m▓[38;2;17;140;202m▓[38;2;17;139;201m▓[38;2;19;129;181m▓[38;2;70;155;120m▓[38;2;101;176;92m▓[38;2;101;176;92m▓[38;2;101;175;91m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;90;142;53m▒[38;2;18;28;11m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;75;117;44m▒[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;107;166;63m▓[0m
|
||||
[38;2;15;123;181m▓[38;2;17;135;200m▓[38;2;17;135;200m▓[38;2;17;135;200m▓[38;2;17;135;200m▓[38;2;16;129;190m▓[38;2;49;139;139m▓[38;2;96;172;93m▓[38;2;99;173;90m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;99;159;60m▓[38;2;37;59;22m░[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;72;113;43m▒[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;104;163;62m▓[0m
|
||||
[38;2;15;119;179m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;129;193m▓[38;2;31;127;157m▓[38;2;85;163;98m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;164;63m▓[38;2;59;96;37m░[38;2;3;4;2m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;1;0m [38;2;69;109;42m▒[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;62m▓[0m
|
||||
[38;2;15;116;177m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;127;194m▓[38;2;20;116;165m▓[38;2;71;116;45m▒[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;161;63m▓[38;2;78;128;50m▒[38;2;12;20;8m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;1;0m [38;2;66;106;41m▒[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;97;156;61m▓[0m
|
||||
[38;2;14;113;175m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;14;117;182m▓[38;2;1;2;1m [38;2;47;79;30m░[38;2;95;158;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;89;148;57m▒[38;2;28;46;18m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;1;0m [38;2;63;104;41m▒[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[0m
|
||||
[38;2;14;109;171m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;14;113;178m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;25;42;16m [38;2;85;144;56m▒[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;156;61m▓[38;2;47;81;31m░[38;2;1;2;1m [38;2;0;1;0m [38;2;60;101;40m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;90;150;59m▒[0m
|
||||
[38;2;14;106;170m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;14;111;177m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;10;17;7m [38;2;69;120;47m▒[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;66;115;46m▒[38;2;8;14;6m [38;2;57;98;39m░[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;147;58m▒[0m
|
||||
[38;2;14;103;168m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;14;107;174m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;2;3;1m [38;2;48;85;34m░[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;78;137;56m▒[38;2;68;119;47m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;144;57m▒[0m
|
||||
[38;2;14;100;165m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;14;103;172m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;27;49;20m░[38;2;79;142;58m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;87;156;64m▓[38;2;83;149;60m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[0m
|
||||
[38;2;14;96;164m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;14;100;170m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;12;21;9m [38;2;65;122;49m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;84;154;63m▓[38;2;86;158;65m▓[38;2;83;151;62m▒[38;2;76;138;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[0m
|
||||
[38;2;14;93;161m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;14;96;167m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;3;5;2m [38;2;48;91;37m░[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;81;152;63m▒[38;2;83;155;64m▓[38;2;83;155;64m▓[38;2;81;152;63m▒[38;2;74;137;57m▒[38;2;72;134;55m▒[38;2;72;134;55m▒[38;2;72;134;55m▒[38;2;72;134;55m▒[0m
|
||||
[38;2;9;62;109m▒[38;2;15;98;174m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;14;93;165m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;29;55;23m░[38;2;72;139;58m▒[38;2;75;144;60m▒[38;2;75;144;60m▒[38;2;75;144;60m▒[38;2;75;144;60m▒[38;2;78;149;63m▒[38;2;80;153;64m▓[38;2;80;153;64m▓[38;2;80;153;64m▓[38;2;79;152;64m▒[38;2;73;139;58m▒[38;2;69;131;54m▒[38;2;69;131;54m▒[38;2;58;110;46m▒[0m
|
||||
[38;2;0;0;0m [38;2;2;16;30m [38;2;9;63;116m▒[38;2;14;94;172m▓[38;2;14;94;173m▓[38;2;14;94;173m▓[38;2;14;94;173m▓[38;2;14;94;173m▓[38;2;13;89;163m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;13;26;11m [38;2;61;122;51m▒[38;2;71;142;60m▒[38;2;71;142;60m▒[38;2;71;142;60m▒[38;2;74;147;62m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;62;121;51m▒[38;2;23;46;19m [38;2;1;1;1m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;2;16;30m [38;2;9;61;114m▒[38;2;14;91;169m▓[38;2;14;91;170m▓[38;2;14;91;170m▓[38;2;13;86;160m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;4;8;3m [38;2;47;95;40m░[38;2;69;140;59m▒[38;2;69;140;59m▒[38;2;71;144;61m▒[38;2;73;148;63m▒[38;2;73;148;63m▒[38;2;73;147;63m▒[38;2;63;128;55m▒[38;2;28;57;24m░[38;2;1;3;1m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;2;16;30m [38;2;9;59;114m▒[38;2;14;86;167m▓[38;2;13;82;158m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;29;61;26m░[38;2;64;136;58m▒[38;2;68;142;61m▒[38;2;70;145;62m▒[38;2;61;127;55m▒[38;2;28;57;24m░[38;2;1;3;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
@@ -1,20 +0,0 @@
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;23;43;27m [38;2;80;138;74m▒[38;2;60;88;32m░[38;2;1;2;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;70;103;38m▒[38;2;41;60;22m░[38;2;1;1;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;20;39;25m [38;2;76;134;75m▒[38;2;110;187;97m▓[38;2;111;187;95m▓[38;2;119;176;65m▓[38;2;85;127;47m▒[38;2;9;14;5m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;88;130;49m▒[38;2;120;178;66m▓[38;2;98;145;54m▒[38;2;38;56;21m░[38;2;1;1;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;18;36;23m [38;2;72;129;72m▒[38;2;108;184;96m▓[38;2;108;185;96m▓[38;2;108;185;96m▓[38;2;109;184;94m▓[38;2;116;175;65m▓[38;2;116;174;65m▓[38;2;102;154;57m▓[38;2;25;38;14m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;85;127;47m▒[38;2;117;174;65m▓[38;2;117;174;65m▓[38;2;117;175;65m▓[38;2;94;141;52m▒[38;2;35;53;20m░[38;2;0;1;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;3;27;38m [38;2;25;96;110m▒[38;2;101;178;98m▓[38;2;106;182;94m▓[38;2;106;182;94m▓[38;2;106;182;94m▓[38;2;106;182;94m▓[38;2;106;181;93m▓[38;2;113;172;65m▓[38;2;113;172;65m▓[38;2;113;172;65m▓[38;2;110;168;63m▓[38;2;48;73;28m░[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;82;124;46m▒[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;113;171;64m▓[38;2;90;136;51m▒[38;2;33;49;18m░[38;2;0;0;0m [0m
|
||||
[38;2;11;90;129m▒[38;2;18;142;204m▓[38;2;17;139;200m▓[38;2;30;134;167m▓[38;2;89;169;106m▓[38;2;103;178;93m▓[38;2;103;179;93m▓[38;2;103;179;93m▓[38;2;104;178;92m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;110;170;64m▓[38;2;72;112;42m▒[38;2;5;8;3m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;79;120;45m▒[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;110;168;64m▓[38;2;86;132;50m▒[0m
|
||||
[38;2;15;127;183m▓[38;2;17;140;202m▓[38;2;17;140;202m▓[38;2;17;139;201m▓[38;2;19;129;181m▓[38;2;70;155;120m▓[38;2;101;176;92m▓[38;2;101;176;92m▓[38;2;101;175;91m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;107;168;63m▓[38;2;90;142;53m▒[38;2;18;28;11m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;75;117;44m▒[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;106;165;63m▓[38;2;107;166;63m▓[0m
|
||||
[38;2;15;123;181m▓[38;2;17;135;200m▓[38;2;17;135;200m▓[38;2;17;135;200m▓[38;2;17;135;200m▓[38;2;16;129;190m▓[38;2;49;139;139m▓[38;2;96;172;93m▓[38;2;99;173;90m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;104;166;63m▓[38;2;99;159;60m▓[38;2;37;59;22m░[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;72;113;43m▒[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;103;162;62m▓[38;2;104;163;62m▓[0m
|
||||
[38;2;15;119;179m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;132;197m▓[38;2;17;129;193m▓[38;2;31;127;157m▓[38;2;85;163;98m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;163;63m▓[38;2;101;164;63m▓[38;2;59;96;37m░[38;2;3;4;2m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;1;0m [38;2;69;109;42m▒[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;61m▓[38;2;100;159;62m▓[0m
|
||||
[38;2;15;116;177m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;128;195m▓[38;2;17;127;194m▓[38;2;20;116;165m▓[38;2;71;116;45m▒[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;162;63m▓[38;2;98;161;63m▓[38;2;78;128;50m▒[38;2;12;20;8m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;1;0m [38;2;66;106;41m▒[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;96;156;61m▓[38;2;97;156;61m▓[0m
|
||||
[38;2;14;113;175m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;15;125;193m▓[38;2;14;117;182m▓[38;2;1;2;1m [38;2;47;79;30m░[38;2;95;158;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;96;159;61m▓[38;2;89;148;57m▒[38;2;28;46;18m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;1;0m [38;2;63;104;41m▒[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[38;2;93;153;60m▓[0m
|
||||
[38;2;14;109;171m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;15;120;189m▓[38;2;14;113;178m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;25;42;16m [38;2;85;144;56m▒[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;157;61m▓[38;2;92;156;61m▓[38;2;47;81;31m░[38;2;1;2;1m [38;2;0;1;0m [38;2;60;101;40m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;89;149;59m▒[38;2;90;150;59m▒[0m
|
||||
[38;2;14;106;170m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;15;117;188m▓[38;2;14;111;177m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;10;17;7m [38;2;69;120;47m▒[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;89;155;62m▓[38;2;66;115;46m▒[38;2;8;14;6m [38;2;57;98;39m░[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;146;58m▒[38;2;86;147;58m▒[0m
|
||||
[38;2;14;103;168m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;15;113;185m▓[38;2;14;107;174m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;2;3;1m [38;2;48;85;34m░[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;87;153;62m▓[38;2;78;137;56m▒[38;2;68;119;47m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;143;57m▒[38;2;83;144;57m▒[0m
|
||||
[38;2;14;100;165m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;15;110;182m▓[38;2;14;103;172m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;27;49;20m░[38;2;79;142;58m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;84;151;61m▒[38;2;87;156;64m▓[38;2;83;149;60m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[38;2;79;140;57m▒[0m
|
||||
[38;2;14;96;164m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;15;106;180m▓[38;2;14;100;170m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;12;21;9m [38;2;65;122;49m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;80;149;60m▒[38;2;84;154;63m▓[38;2;86;158;65m▓[38;2;83;151;62m▒[38;2;76;138;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[38;2;76;137;56m▒[0m
|
||||
[38;2;14;93;161m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;15;102;177m▓[38;2;14;96;167m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;3;5;2m [38;2;48;91;37m░[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;78;147;60m▒[38;2;81;152;63m▒[38;2;83;155;64m▓[38;2;83;155;64m▓[38;2;81;152;63m▒[38;2;74;137;57m▒[38;2;72;134;55m▒[38;2;72;134;55m▒[38;2;72;134;55m▒[38;2;72;134;55m▒[0m
|
||||
[38;2;9;62;109m▒[38;2;15;98;174m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;15;99;175m▓[38;2;14;93;165m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;29;55;23m░[38;2;72;139;58m▒[38;2;75;144;60m▒[38;2;75;144;60m▒[38;2;75;144;60m▒[38;2;75;144;60m▒[38;2;78;149;63m▒[38;2;80;153;64m▓[38;2;80;153;64m▓[38;2;80;153;64m▓[38;2;79;152;64m▒[38;2;73;139;58m▒[38;2;69;131;54m▒[38;2;69;131;54m▒[38;2;58;110;46m▒[0m
|
||||
[38;2;0;0;0m [38;2;2;16;30m [38;2;9;63;116m▒[38;2;14;94;172m▓[38;2;14;94;173m▓[38;2;14;94;173m▓[38;2;14;94;173m▓[38;2;14;94;173m▓[38;2;13;89;163m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;13;26;11m [38;2;61;122;51m▒[38;2;71;142;60m▒[38;2;71;142;60m▒[38;2;71;142;60m▒[38;2;74;147;62m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;76;150;64m▒[38;2;62;121;51m▒[38;2;23;46;19m [38;2;1;1;1m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;2;16;30m [38;2;9;61;114m▒[38;2;14;91;169m▓[38;2;14;91;170m▓[38;2;14;91;170m▓[38;2;13;86;160m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;4;8;3m [38;2;47;95;40m░[38;2;69;140;59m▒[38;2;69;140;59m▒[38;2;71;144;61m▒[38;2;73;148;63m▒[38;2;73;148;63m▒[38;2;73;147;63m▒[38;2;63;128;55m▒[38;2;28;57;24m░[38;2;1;3;1m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;2;16;30m [38;2;9;59;114m▒[38;2;14;86;167m▓[38;2;13;82;158m▓[38;2;0;0;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;29;61;26m░[38;2;64;136;58m▒[38;2;68;142;61m▒[38;2;70;145;62m▒[38;2;61;127;55m▒[38;2;28;57;24m░[38;2;1;3;1m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [38;2;0;0;0m [0m
|
||||
|
Before Width: | Height: | Size: 27 KiB |
@@ -1,24 +0,0 @@
|
||||
.ld, cc.
|
||||
,oxxxxl. lxxl'
|
||||
.:dxxxxxddd; lddddo;.
|
||||
'lxxxxxxxxddddl. cdddddddc.
|
||||
':coxxxxxxxddddddd: cdddddddddl,
|
||||
ccccccoxxxxxddddddddo, cdddddddddddo
|
||||
cccccc:lddddddddddddddc. cdddddddddddo
|
||||
:ccccccc:ldddddddddddddo; :oooooooooooo
|
||||
:cccccccc:codooooooooooool. :oooooooooooo
|
||||
::::::::::::coooooooooooooo: :oooooooooool
|
||||
::::::::::::'.coooooooooooool' ;oooooooooool
|
||||
;:::::::::::' ,looooooooooooo:. ;llllllllllll
|
||||
;:::::::::::' :oooooooooooool, ;llllllllllll
|
||||
;;;;;;;;;;;;' .coooooooooooooc.;llllllllllll
|
||||
;;;;;;;;;;;;' ,llllllllllllllclllllllllllc
|
||||
;;;;;;;;;;;;. .:lllllllllllloolcccccccccc
|
||||
,;;;;;;;;;;;. 'lllllllllllloolccccccccc
|
||||
,;;;;;;;;;;;. ;llllllllllooollccccccc
|
||||
,,,,,,,,,,,,. .:llllllllllllllccccc:
|
||||
.',,,,,,,,,. ,ccccccllllllllc:;'
|
||||
..,,,,,,,. .;ccccllllllll:.
|
||||
.',,,,. .ccccllllc,.
|
||||
..''. ,cclc:.
|
||||
.. .:,.
|
||||
@@ -1,11 +0,0 @@
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;65;65;65m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;197;164;41m▀[0m[38;2;65;65;65m[48;2;197;164;41m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;0;0;0m[48;2;197;164;41m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;156;131;65m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;65;65;65m[48;2;65;65;65m▀[0m[38;2;65;65;65m[48;2;65;65;65m▀[0m[38;2;65;65;65m[48;2;197;164;41m▀[0m[38;2;246;213;49m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;197;164;41m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;0;0;0m[48;2;156;131;65m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;65;65;65m▀[0m[38;2;65;65;65m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;255;255;255m▀[0m[38;2;246;213;49m[48;2;0;0;0m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;156;131;65m[48;2;246;213;49m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;0;0;0m[48;2;197;164;41m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;246;213;49m[48;2;0;0;0m▀[0m[38;2;156;131;65m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;65;65;65m[48;2;246;98;82m▀[0m[38;2;246;213;49m[48;2;246;98;82m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;0;0;0m[48;2;246;213;49m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;189;148;32m[48;2;0;0;0m▀[0m[38;2;65;65;65m[48;2;0;0;0m▀[0m[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;246;213;49m[48;2;197;164;41m▀[0m[38;2;246;213;49m[48;2;197;164;41m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;98;82m[48;2;246;213;49m▀[0m[38;2;246;98;82m[48;2;65;65;65m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;180;115;41m[48;2;246;213;49m▀[0m[38;2;65;65;65m[48;2;246;213;49m▀[0m[38;2;164;106;49m[48;2;65;65;65m▀[0m[38;2;0;0;0m[48;2;164;106;49m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;197;164;41m[48;2;197;164;41m▀[0m[38;2;65;65;65m[48;2;197;164;41m▀[0m[38;2;246;213;49m[48;2;65;65;65m▀[0m[38;2;246;213;49m[48;2;65;65;65m▀[0m[38;2;65;65;65m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;180;115;41m[48;2;246;213;49m▀[0m[38;2;65;65;65m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;197;164;41m[48;2;0;0;0m▀[0m[38;2;246;213;49m[48;2;0;0;0m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;246;213;49m[48;2;246;213;49m▀[0m[38;2;65;65;65m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;246;213;49m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[0m
|
||||
@@ -1,19 +0,0 @@
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;246;129;131m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;129;131m[48;2;238;97;106m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;238;97;106m[48;2;238;99;106m▀[0m[38;2;238;97;106m[48;2;238;99;106m▀[0m[38;2;0;0;0m[48;2;127;46;53m▀[0m[38;2;8;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;246;121;123m▀[0m[38;2;0;0;0m[48;2;254;161;150m▀[0m[38;2;238;97;106m[48;2;254;161;150m▀[0m[38;2;238;99;106m[48;2;238;99;106m▀[0m[38;2;238;99;106m[48;2;238;99;106m▀[0m[38;2;246;93;106m[48;2;238;99;106m▀[0m[38;2;246;93;106m[48;2;238;99;106m▀[0m[38;2;0;0;0m[48;2;238;99;106m▀[0m[38;2;0;0;0m[48;2;238;99;106m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;121;123m[48;2;238;97;106m▀[0m[38;2;246;121;123m[48;2;238;97;106m▀[0m[38;2;254;161;150m[48;2;255;161;148m▀[0m[38;2;254;161;150m[48;2;255;161;148m▀[0m[38;2;255;161;148m[48;2;238;99;106m▀[0m[38;2;238;99;106m[48;2;238;99;106m▀[0m[38;2;238;99;106m[48;2;238;97;106m▀[0m[38;2;238;99;106m[48;2;238;97;106m▀[0m[38;2;238;99;106m[48;2;197;64;82m▀[0m[38;2;238;99;106m[48;2;197;64;82m▀[0m[38;2;238;97;106m[48;2;246;93;106m▀[0m[38;2;0;0;0m[48;2;8;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;189;178;65m[48;2;189;178;65m▀[0m[38;2;197;64;82m[48;2;186;79;87m▀[0m[38;2;238;97;106m[48;2;246;89;98m▀[0m[38;2;238;99;106m[48;2;238;97;106m▀[0m[38;2;238;99;106m[48;2;238;97;106m▀[0m[38;2;238;99;106m[48;2;238;99;106m▀[0m[38;2;238;99;106m[48;2;238;99;106m▀[0m[38;2;238;97;106m[48;2;197;64;82m▀[0m[38;2;197;64;82m[48;2;238;242;65m▀[0m[38;2;238;242;65m[48;2;246;238;65m▀[0m[38;2;238;242;65m[48;2;160;145;69m▀[0m[38;2;127;46;53m[48;2;230;238;74m▀[0m[38;2;246;93;106m[48;2;139;24;49m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;65;64;65m▀[0m[38;2;189;178;65m[48;2;65;64;65m▀[0m[38;2;65;60;65m[48;2;82;180;254m▀[0m[38;2;65;60;65m[48;2;82;180;254m▀[0m[38;2;65;64;65m[48;2;82;153;255m▀[0m[38;2;238;97;106m[48;2;65;64;65m▀[0m[38;2;238;99;106m[48;2;106;68;57m▀[0m[38;2;238;99;106m[48;2;112;93;120m▀[0m[38;2;197;64;82m[48;2;148;28;41m▀[0m[38;2;238;242;65m[48;2;238;242;65m▀[0m[38;2;74;52;74m[48;2;65;64;65m▀[0m[38;2;246;238;65m[48;2;222;238;65m▀[0m[38;2;185;131;61m[48;2;142;143;63m▀[0m[38;2;139;24;49m[48;2;0;0;8m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;82;182;255m▀[0m[38;2;0;0;0m[48;2;172;222;255m▀[0m[38;2;82;182;255m[48;2;172;222;255m▀[0m[38;2;82;182;255m[48;2;82;182;255m▀[0m[38;2;65;64;65m[48;2;82;182;255m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;82;182;255m▀[0m[38;2;82;182;255m[48;2;82;182;255m▀[0m[38;2;123;202;255m[48;2;82;182;255m▀[0m[38;2;123;202;255m[48;2;82;182;255m▀[0m[38;2;82;180;254m[48;2;82;161;255m▀[0m[38;2;82;180;254m[48;2;82;161;255m▀[0m[38;2;82;153;255m[48;2;139;129;213m▀[0m[38;2;82;153;255m[48;2;68;45;71m▀[0m[38;2;123;141;246m[48;2;65;64;65m▀[0m[38;2;106;68;57m[48;2;197;64;82m▀[0m[38;2;148;28;41m[48;2;197;64;82m▀[0m[38;2;238;242;65m[48;2;142;26;43m▀[0m[38;2;222;238;65m[48;2;205;230;74m▀[0m[38;2;65;64;65m[48;2;205;230;74m▀[0m[38;2;213;214;90m[48;2;0;0;0m▀[0m[38;2;0;0;8m▀ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;82;182;255m[48;2;82;182;255m▀[0m[38;2;82;182;255m[48;2;82;180;254m▀[0m[38;2;172;222;255m[48;2;82;180;254m▀[0m[38;2;172;222;255m[48;2;82;180;254m▀[0m[38;2;82;182;255m[48;2;82;180;254m▀[0m[38;2;82;182;255m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;32;4;0m▀[38;2;104;87;142m[48;2;0;0;0m▀[0m[38;2;197;64;82m[48;2;0;0;0m▀[0m[38;2;197;64;82m[48;2;0;0;0m▀[0m[38;2;197;64;82m[48;2;0;0;0m▀[0m[38;2;197;64;82m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;82;182;255m[48;2;82;140;254m▀[0m[38;2;82;182;255m[48;2;82;182;255m▀[0m[38;2;82;180;254m[48;2;82;182;255m▀[0m[38;2;82;180;254m[48;2;82;140;254m▀[0m[38;2;82;180;254m[48;2;82;141;255m▀[0m[38;2;82;138;254m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;82;180;254m▀[0m[38;2;0;0;0m[48;2;82;138;254m▀[0m[38;2;0;0;0m[48;2;82;141;255m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;255;161;148m▀[0m[38;2;0;0;0m[48;2;238;99;106m▀[0m[38;2;0;0;0m[48;2;238;97;106m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;65;64;65m▀[0m[38;2;82;141;255m[48;2;82;141;255m▀[0m[38;2;82;140;254m[48;2;82;141;255m▀[0m[38;2;82;140;254m[48;2;82;141;255m▀[0m[38;2;82;140;254m[48;2;0;0;0m▀[0m[38;2;82;140;254m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;82;182;255m[48;2;0;0;0m▀[0m[38;2;82;180;254m[48;2;82;161;255m▀[0m[38;2;82;180;254m[48;2;82;161;255m▀[0m[38;2;82;141;255m[48;2;82;140;254m▀[0m[38;2;82;141;255m[48;2;82;140;254m▀[0m[38;2;82;141;255m[48;2;82;140;254m▀[0m[38;2;0;0;0m[48;2;82;140;254m▀[0m[38;2;0;0;0m[48;2;82;141;255m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;74;58;76m▀[0m[38;2;255;161;148m[48;2;115;116;153m▀[0m[38;2;255;161;148m[48;2;255;161;148m▀[0m[38;2;255;161;148m[48;2;238;99;106m▀[0m[38;2;238;97;106m[48;2;238;97;106m▀[0m[38;2;238;97;106m[48;2;238;97;106m▀[0m[38;2;65;64;65m[48;2;82;165;255m▀[0m[38;2;82;141;255m[48;2;65;64;65m▀[0m[38;2;38;52;84m[48;2;197;64;82m▀[0m[38;2;16;8;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;82;140;254m[48;2;0;0;0m▀[0m[38;2;82;140;254m[48;2;0;0;0m▀[0m[38;2;82;140;254m[48;2;0;0;0m▀[0m[38;2;82;140;254m[48;2;0;0;0m▀[0m[38;2;82;141;255m[48;2;0;0;0m▀[0m[38;2;82;141;255m[48;2;0;0;0m▀[0m[38;2;32;0;0m▀[38;2;156;174;230m[48;2;0;0;0m▀[0m[38;2;238;99;106m[48;2;82;180;254m▀[0m[38;2;238;99;106m[48;2;82;180;254m▀[0m[38;2;238;97;106m[48;2;82;180;254m▀[0m[38;2;82;182;255m[48;2;82;180;254m▀[0m[38;2;82;165;255m[48;2;82;141;255m▀[0m[38;2;82;165;255m[48;2;82;141;255m▀[0m[38;2;197;64;82m[48;2;197;66;82m▀[0m[38;2;197;64;82m[48;2;197;66;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;82;180;254m[48;2;0;0;0m▀[0m[38;2;82;180;254m[48;2;82;141;255m▀[0m[38;2;82;180;254m[48;2;98;141;255m▀[0m[38;2;82;138;254m[48;2;98;141;255m▀[0m[38;2;82;141;255m[48;2;197;66;82m▀[0m[38;2;197;64;82m[48;2;197;66;82m▀[0m[38;2;197;66;82m[48;2;197;64;82m▀[0m[38;2;197;66;82m[48;2;197;64;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;74;8;0m▀[38;2;82;52;84m[48;2;0;0;0m▀[0m[38;2;197;66;82m[48;2;46;56;82m▀[0m[38;2;197;66;82m[48;2;46;56;82m▀[0m[38;2;197;64;82m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▄[38;2;24;12;0m[48;2;82;140;254m▀[0m[38;2;90;145;246m[48;2;82;140;254m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;82;180;254m▀[0m[38;2;82;182;255m[48;2;82;180;254m▀[0m[38;2;82;140;254m[48;2;82;182;255m▀[0m[38;2;82;140;254m[48;2;82;182;255m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;82;180;254m[48;2;172;222;255m▀[0m[38;2;82;180;254m[48;2;82;182;255m▀[0m[38;2;82;182;255m[48;2;82;182;255m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;82;182;255m[48;2;0;0;0m▀[0m[38;2;82;182;255m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[0m
|
||||
@@ -1,27 +0,0 @@
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;70;62;64m.[0m[38;2;85;68;73m'[0m[38;2;87;61;69m'[0m[38;2;87;59;67m.[0m[38;2;89;61;70m'[0m[38;2;89;64;72m'[0m[38;2;85;68;73m'[0m[38;2;49;43;45m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;50;38;42m.[0m[38;2;112;65;78m'[0m[38;2;151;74;92m;[0m[38;2;183;78;100m:[0m[38;2;197;59;89m;[0m[38;2;217;67;99m:[0m[38;2;228;67;104m:[0m[38;2;237;89;122ml[0m[38;2;237;97;128ml[0m[38;2;219;78;111m:[0m[38;2;206;72;103m:[0m[38;2;195;61;92m;[0m[38;2;190;72;98m;[0m[38;2;172;51;81m,[0m[38;2;172;56;85m,[0m[38;2;169;58;86m,[0m[38;2;171;60;89m,[0m[38;2;194;93;117mc[0m[38;2;199;93;117mc[0m[38;2;218;102;129ml[0m[38;2;212;91;123mc[0m[38;2;193;101;124mc[0m[38;2;180;87;111m:[0m[38;2;152;71;92m;[0m[38;2;112;70;82m,[0m[38;2;50;41;44m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;70;50;56m.[0m[38;2;152;73;91m;[0m[38;2;190;60;89m;[0m[38;2;229;77;108mc[0m[38;2;252;64;104m:[0m[38;2;254;10;78m.[0m[38;2;254;2;76m.[0m[38;2;251;58;104m:[0m[38;2;243;100;132ml[0m[38;2;219;99;126ml[0m[38;2;190;98;118mc[0m[38;2;142;61;80m,[0m[38;2;111;73;83m,[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;101;73;82m,[0m[38;2;109;91;96m;[0m[38;2;71;60;63m.[0m[38;2;100;60;72m'[0m[38;2;142;67;87m,[0m[38;2;165;85;108m:[0m[38;2;167;98;118mc[0m[38;2;157;98;116mc[0m[38;2;148;104;118mc[0m[38;2;72;55;60m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;88;49;60m.[0m[38;2;176;66;91m;[0m[38;2;230;70;103m:[0m[38;2;252;45;92m;[0m[38;2;254;1;76m.[0m[38;2;254;11;78m'[0m[38;2;253;64;103m:[0m[38;2;225;60;95m;[0m[38;2;198;55;87m,[0m[38;2;177;51;80m,[0m[38;2;160;61;83m,[0m[38;2;149;75;91m;[0m[38;2;123;38;60m.[0m[38;2;123;39;61m.[0m[38;2;122;37;60m.[0m[38;2;147;74;92m;[0m[38;2;111;73;85m,[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;69;59;62m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;86;67;73m'[0m[38;2;175;79;101m:[0m[38;2;234;77;107mc[0m[38;2;253;33;87m,[0m[38;2;254;12;79m'[0m[38;2;246;73;109mc[0m[38;2;205;72;100m:[0m[38;2;155;56;78m,[0m[38;2;112;65;78m'[0m[38;2;50;44;46m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;56;33;40m.[0m[38;2;198;81;107m:[0m[38;2;247;50;95m;[0m[38;2;254;1;76m.[0m[38;2;253;31;86m,[0m[38;2;217;64;98m;[0m[38;2;136;58;78m'[0m[38;2;50;44;46m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;151;83;100m;[0m[38;2;240;73;109m:[0m[38;2;254;0;76m.[0m[38;2;254;6;77m.[0m[38;2;226;58;97m;[0m[38;2;112;66;78m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;24;18;20m [0m[38;2;209;93;119mc[0m[38;2;253;24;84m'[0m[38;2;255;0;76m.[0m[38;2;252;41;92m;[0m[38;2;195;101;123ml[0m[38;2;55;44;48m.[0m[38;2;133;75;90m,[0m[38;2;167;66;91m;[0m[38;2;174;106;125mc[0m[38;2;71;59;63m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;50;44;46m.[0m[38;2;192;79;105m:[0m[38;2;254;2;76m.[0m[38;2;255;0;76m.[0m[38;2;253;35;88m,[0m[38;2;196;102;127ml[0m[38;2;195;88;108mc[0m[38;2;239;70;107m:[0m[38;2;216;68;100m:[0m[38;2;151;86;102m:[0m[38;2;92;74;79m,[0m[38;2;50;42;45m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;193;106;127ml[0m[38;2;253;11;78m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;27;84m,[0m[38;2;254;17;80m'[0m[38;2;253;40;92m,[0m[38;2;168;66;91m;[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;91;60;69m'[0m[38;2;216;114;142mo[0m[38;2;191;81;106m:[0m[38;2;116;71;82m,[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;122;89;98m;[0m[38;2;250;57;102m:[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;251;50;98m;[0m[38;2;158;90;107m:[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;50;44;46m.[0m[38;2;167;87;107m:[0m[38;2;241;63;104m:[0m[38;2;241;76;109mc[0m[38;2;204;66;95m;[0m[38;2;162;59;82m,[0m[38;2;123;64;80m'[0m[38;2;70;47;54m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;198;111;133ml[0m[38;2;254;1;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;253;12;80m'[0m[38;2;181;100;121mc[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;75;49;56m.[0m[38;2;174;71;94m;[0m[38;2;235;75;107m:[0m[38;2;254;25;83m'[0m[38;2;254;2;76m.[0m[38;2;253;27;84m,[0m[38;2;243;50;94m;[0m[38;2;229;67;100m:[0m[38;2;210;57;90m;[0m[38;2;197;69;95m;[0m[38;2;178;53;81m,[0m[38;2;160;54;78m,[0m[38;2;142;60;80m,[0m[38;2;125;58;76m'[0m[38;2;98;57;69m.[0m[38;2;70;55;59m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;70;52;57m.[0m
|
||||
[38;2;203;78;110m:[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;242;62;104m:[0m[38;2;49;44;45m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;116;66;79m'[0m[38;2;184;76;99m:[0m[38;2;218;71;102m:[0m[38;2;246;64;103m:[0m[38;2;254;17;81m'[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;254;2;76m.[0m[38;2;254;7;78m.[0m[38;2;252;34;88m,[0m[38;2;252;65;105m:[0m[38;2;240;69;104m:[0m[38;2;223;65;98m:[0m[38;2;211;74;102m:[0m[38;2;192;71;97m;[0m[38;2;161;69;90m;[0m[38;2;134;73;89m,[0m[38;2;75;50;57m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;71;58;62m.[0m[38;2;115;66;80m'[0m[38;2;152;75;93m;[0m[38;2;176;68;92m;[0m[38;2;209;78;110m:[0m[38;2;194;108;132ml[0m[38;2;122;76;90m,[0m
|
||||
[38;2;201;90;118mc[0m[38;2;254;1;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;211;79;111m:[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;25;22;23m [0m[38;2;61;37;45m.[0m[38;2;113;64;77m'[0m[38;2;145;62;82m,[0m[38;2;176;76;97m;[0m[38;2;191;69;94m;[0m[38;2;210;68;98m:[0m[38;2;223;63;96m;[0m[38;2;235;57;95m;[0m[38;2;251;59;100m:[0m[38;2;253;20;81m'[0m[38;2;254;1;76m.[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;1;76m.[0m[38;2;254;21;81m'[0m[38;2;245;49;93m;[0m[38;2;229;72;104m:[0m[38;2;191;64;92m;[0m[38;2;132;70;86m,[0m[38;2;49;40;43m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;132;79;92m;[0m[38;2;204;71;99m:[0m[38;2;238;55;95m;[0m[38;2;249;43;90m;[0m[38;2;253;25;83m'[0m[38;2;254;4;77m.[0m[38;2;254;1;76m.[0m[38;2;245;69;108m:[0m[38;2;106;58;71m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;164;106;122mc[0m[38;2;252;17;82m'[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;253;0;76m.[0m[38;2;202;76;109m:[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;98;67;76m'[0m[38;2;95;73;79m,[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;68;53;58m.[0m[38;2;186;105;128ml[0m[38;2;184;74;101m;[0m[38;2;142;62;82m,[0m[38;2;111;63;77m'[0m[38;2;86;66;72m'[0m[38;2;99;76;83m,[0m[38;2;120;71;83m,[0m[38;2;145;52;74m'[0m[38;2;189;84;105m:[0m[38;2;229;100;125ml[0m[38;2;252;56;101m:[0m[38;2;254;1;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;4;76m.[0m[38;2;248;61;102m:[0m[38;2;206;68;97m;[0m[38;2;176;61;87m,[0m[38;2;159;59;82m,[0m[38;2;154;55;79m'[0m[38;2;155;63;85m,[0m[38;2;149;67;87m,[0m[38;2;93;57;67m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;164;71;94m;[0m[38;2;253;34;87m,[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;5;77m.[0m[38;2;238;93;125ml[0m[38;2;100;65;75m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;50;42;44m.[0m[38;2;237;95;127ml[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;219;67;103m:[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;71;60;63m.[0m[38;2;229;86;122mc[0m[38;2;143;79;98m;[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;146;86;101m;[0m[38;2;197;67;96m;[0m[38;2;234;65;103m:[0m[38;2;251;40;93m,[0m[38;2;251;47;95m;[0m[38;2;253;57;100m:[0m[38;2;253;57;99m:[0m[38;2;252;46;94m;[0m[38;2;252;29;86m,[0m[38;2;254;8;78m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;232;77;114mc[0m[38;2;70;49;56m.[0m[38;2;0;0;0m [0m[38;2;133;89;101m;[0m[38;2;251;66;108m:[0m[38;2;255;2;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;13;79m'[0m[38;2;204;87;115mc[0m[38;2;70;54;59m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;131;90;102m;[0m[38;2;250;68;107m:[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;252;48;97m;[0m[38;2;100;68;77m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;178;86;109m:[0m[38;2;253;7;79m.[0m[38;2;166;64;89m,[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;89;57;67m.[0m[38;2;166;93;111m:[0m[38;2;183;80;103m:[0m[38;2;192;58;87m,[0m[38;2;211;60;92m;[0m[38;2;223;55;91m;[0m[38;2;241;65;101m:[0m[38;2;251;68;105m:[0m[38;2;252;43;92m;[0m[38;2;253;17;80m'[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;237;80;116mc[0m[38;2;70;48;55m.[0m[38;2;0;0;0m [0m[38;2;120;76;89m,[0m[38;2;183;79;108m:[0m[38;2;245;72;110mc[0m[38;2;203;68;97m;[0m[38;2;254;21;82m'[0m[38;2;254;0;76m.[0m[38;2;246;90;127ml[0m[38;2;35;30;31m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;127;62;78m'[0m[38;2;252;45;93m;[0m[38;2;254;0;76m.[0m[38;2;254;1;76m.[0m[38;2;239;77;113mc[0m[38;2;122;73;86m,[0m[38;2;0;0;0m [0m[38;2;245;127;150md[0m[38;2;254;1;76m.[0m[38;2;228;91;121mc[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;86;65;71m'[0m[38;2;153;70;93m;[0m[38;2;209;96;123mc[0m[38;2;233;85;118mc[0m[38;2;233;60;98m;[0m[38;2;234;68;100m:[0m[38;2;234;67;99m:[0m[38;2;240;66;101m:[0m[38;2;251;39;90m,[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;1;76m.[0m[38;2;228;54;94m;[0m[38;2;153;65;87m,[0m[38;2;71;52;58m.[0m[38;2;106;65;77m'[0m[38;2;111;78;88m,[0m[38;2;151;91;106m:[0m[38;2;253;29;87m,[0m[38;2;253;16;81m'[0m[38;2;200;118;139mo[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;121;59;75m'[0m[38;2;239;69;107m:[0m[38;2;254;2;76m.[0m[38;2;254;0;76m.[0m[38;2;252;53;98m;[0m[38;2;185;79;104m:[0m[38;2;218;104;129ml[0m[38;2;254;1;76m.[0m[38;2;252;30;87m,[0m[38;2;180;107;126ml[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;50;43;45m.[0m[38;2;115;67;80m,[0m[38;2;168;72;93m;[0m[38;2;190;69;95m;[0m[38;2;204;60;91m;[0m[38;2;216;56;91m;[0m[38;2;227;73;103m:[0m[38;2;231;80;109mc[0m[38;2;231;82;110mc[0m[38;2;227;74;104m:[0m[38;2;222;64;98m;[0m[38;2;251;81;119mc[0m[38;2;254;11;79m'[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;3;76m.[0m[38;2;253;48;95m;[0m[38;2;240;79;111mc[0m[38;2;240;73;108m:[0m[38;2;254;25;83m'[0m[38;2;254;5;77m.[0m[38;2;225;98;129ml[0m[38;2;71;60;64m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;71;54;59m.[0m[38;2;193;80;106m:[0m[38;2;253;28;84m,[0m[38;2;254;0;76m.[0m[38;2;254;4;76m.[0m[38;2;251;62;104m:[0m[38;2;254;2;76m.[0m[38;2;255;0;76m.[0m[38;2;253;44;93m;[0m[38;2;182;91;113mc[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;84;67;72m'[0m[38;2;144;83;101m;[0m[38;2;181;84;108m:[0m[38;2;212;80;109m:[0m[38;2;228;64;99m:[0m[38;2;247;43;91m;[0m[38;2;254;4;77m.[0m[38;2;254;0;76m.[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;215;79;112m:[0m[38;2;70;54;59m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;134;82;95m;[0m[38;2;216;86;114mc[0m[38;2;252;49;94m;[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;13;79m'[0m[38;2;213;72;104m:[0m[38;2;86;44;56m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;70;57;61m.[0m[38;2;99;59;71m'[0m[38;2;122;54;72m'[0m[38;2;160;96;110m:[0m[38;2;220;120;144mo[0m[38;2;252;47;95m;[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;253;42;92m;[0m[38;2;203;84;111mc[0m[38;2;35;23;27m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;92;53;63m.[0m[38;2;191;69;95m;[0m[38;2;229;64;98m:[0m[38;2;253;35;86m,[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;252;39;89m,[0m[38;2;216;66;98m;[0m[38;2;154;48;73m'[0m[38;2;99;58;69m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;144;94;109m:[0m[38;2;135;54;77m'[0m[38;2;86;55;64m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;115;63;76m'[0m[38;2;165;44;73m'[0m[38;2;240;74;109mc[0m[38;2;254;11;78m'[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;253;57;99m:[0m[38;2;206;68;99m;[0m[38;2;112;67;79m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;103;60;71m'[0m[38;2;176;67;91m;[0m[38;2;223;78;108m:[0m[38;2;247;43;91m;[0m[38;2;254;1;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;253;17;80m'[0m[38;2;246;68;105m:[0m[38;2;207;48;84m,[0m[38;2;183;71;95m;[0m[38;2;151;64;84m,[0m[38;2;110;62;75m'[0m[38;2;122;81;92m;[0m[38;2;175;73;99m;[0m[38;2;210;93;121mc[0m[38;2;202;71;103m:[0m[38;2;176;56;84m,[0m[38;2;151;68;88m,[0m[38;2;123;59;76m'[0m[38;2;97;58;70m'[0m[38;2;86;61;68m'[0m[38;2;87;67;73m'[0m[38;2;87;67;73m'[0m[38;2;86;60;68m.[0m[38;2;97;61;72m'[0m[38;2;122;61;77m'[0m[38;2;152;58;81m,[0m[38;2;183;71;95m;[0m[38;2;205;49;85m,[0m[38;2;246;61;101m:[0m[38;2;253;10;78m.[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;253;38;89m,[0m[38;2;225;74;106m:[0m[38;2;160;69;90m;[0m[38;2;87;65;72m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;56;38;43m.[0m[38;2;133;67;83m,[0m[38;2;178;69;93m;[0m[38;2;207;54;88m,[0m[38;2;241;69;104m:[0m[38;2;252;43;92m;[0m[38;2;254;6;77m.[0m[38;2;254;0;76m.[0m[38;2;254;0;76m.[0m[38;2;254;7;78m.[0m[38;2;253;31;86m,[0m[38;2;252;64;104m:[0m[38;2;237;62;99m:[0m[38;2;243;93;123ml[0m[38;2;248;72;113mc[0m[38;2;254;22;84m'[0m[38;2;254;2;76m.[0m[38;2;254;9;78m.[0m[38;2;253;21;83m'[0m[38;2;253;28;85m,[0m[38;2;253;28;85m,[0m[38;2;253;20;82m'[0m[38;2;254;9;79m.[0m[38;2;254;3;76m.[0m[38;2;254;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;255;0;76m.[0m[38;2;254;0;76m.[0m[38;2;254;9;78m.[0m[38;2;252;57;99m:[0m[38;2;230;59;96m;[0m[38;2;198;67;96m;[0m[38;2;151;72;91m;[0m[38;2;86;61;68m'[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;50;38;42m.[0m[38;2;111;58;72m'[0m[38;2;151;65;84m,[0m[38;2;176;69;91m;[0m[38;2;193;55;84m,[0m[38;2;212;62;92m;[0m[38;2;223;62;95m;[0m[38;2;236;60;96m;[0m[38;2;244;69;104m:[0m[38;2;254;66;104m:[0m[38;2;252;47;93m;[0m[38;2;251;39;88m,[0m[38;2;251;36;87m,[0m[38;2;251;36;87m,[0m[38;2;251;37;87m,[0m[38;2;252;43;90m;[0m[38;2;253;59;100m:[0m[38;2;252;76;110mc[0m[38;2;235;52;91m;[0m[38;2;229;70;101m:[0m[38;2;218;69;98m:[0m[38;2;198;61;89m;[0m[38;2;177;66;89m;[0m[38;2;153;66;85m,[0m[38;2;104;51;65m.[0m[38;2;50;43;45m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;85;76;79m,[0m[38;2;84;75;78m'[0m[38;2;84;75;78m'[0m[38;2;84;75;78m'[0m[38;2;49;44;45m.[0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m[38;2;0;0;0m [0m
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
,,,:,:;lc::clllc::,:,,,
|
||||
.:,c:c,,lc;::,,', .';:ldcdoc:,.
|
||||
.,:;:....:oo::;;. ,; ':cllc
|
||||
.;c;'...,;;;,;;''';:, ..
|
||||
;c;...,l::,
|
||||
cl,..,o;,
|
||||
,c'..;;'
|
||||
.c;..:;.
|
||||
,:...l. .,.
|
||||
;:..'c.,:coc.
|
||||
';...c:o,:: .
|
||||
,o....c'.;' ,x;.
|
||||
c......'o ,c:c;.
|
||||
.c......c .:c.;:;;,.
|
||||
o'.....c; .;:....,c;,:,,,,'.
|
||||
c......l ;c:'.........';c:c;::;' ,;:cc
|
||||
c.....,, ;;,,:l;'...........':l;;'; ,,';:cc,c:.
|
||||
l'....c' ,:,:::cc:'.........'::: 'o,......:,
|
||||
,;....l : ll:,. ,,,cl;........:c,;',;;: :c.......l'
|
||||
:....:' ,o. 'l;,cl;::;lc,...............:: ,:......'o.
|
||||
l;...'; o:d .'::c,....................; kl;....'c
|
||||
c....o. '''l cl::,:cc;c,...........;: lccc..;o
|
||||
o...'c :..c .lc;:ccc:;'............;:. :c c..d.
|
||||
:'..'l.:..;c ;:cc;'................;c::c,.,;
|
||||
:,...:c,..l. ..;'c::c:co,............'o
|
||||
,c,...'...:, ',cll,'.............;:
|
||||
:l'......;c .':oo.........c;
|
||||
;c,......:;. :; .c:........;:.
|
||||
;:c'.....;:,; ,l:'. .,:;........:l'
|
||||
,::,.....';:;;,,':l:;,;;.',,,'';;,::,........,l;.
|
||||
,;;:;'......,:c:ol;...',,,''..........':c;,
|
||||
.,,;:c:'....................';c:;;,
|
||||
,,,:,::;:llllc,:c,:;;'.
|
||||
@@ -1,3 +0,0 @@
|
||||
░█▀▄░█▀█░█▀█░▀█▀░▀█▀░█▀▀░█▀▀░▀█▀░░░█▀█░█░█░▀█▀░█▄█
|
||||
░█▀▄░█░█░█░█░░█░░░█░░█▀▀░▀▀█░░█░░░░█░█░▀▄▀░░█░░█░█
|
||||
░▀░▀░▀▀▀░▀▀▀░░▀░░▀▀▀░▀▀▀░▀▀▀░░▀░░░░▀░▀░░▀░░▀▀▀░▀░▀
|
||||
@@ -1,26 +0,0 @@
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;174;156m▀[0m[38;2;0;0;0m[48;2;0;174;156m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;118;98m▀[0m[38;2;0;0;0m[48;2;0;178;148m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;0;174;148m[48;2;0;174;148m▀[0m[38;2;0;0;0m[48;2;0;116;98m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;174;156m[48;2;0;174;156m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;0;0m[48;2;0;119;82m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;0;121;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;24;4;0m[48;2;8;178;148m▀[0m[38;2;13;120;98m[48;2;18;62;49m▀[0m[38;2;0;121;82m[48;2;231;93;99m▀[0m[38;2;0;121;82m[48;2;231;93;99m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;66;64;65m▀[0m[38;2;66;65;66m[48;2;0;174;156m▀[0m[38;2;0;174;156m[48;2;0;174;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;119;82m[48;2;0;119;82m▀[0m[38;2;0;0;0m[48;2;0;119;82m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;178;148m[48;2;0;118;98m▀[0m[38;2;0;174;156m[48;2;0;174;156m▀[0m[38;2;66;65;66m[48;2;0;174;156m▀[0m[38;2;214;73;82m[48;2;66;65;66m▀[0m[38;2;214;73;82m[48;2;66;65;66m▀[0m[38;2;49;65;49m[48;2;0;174;140m▀[0m[38;2;24;119;94m[48;2;24;119;94m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;28;119;102m[48;2;57;65;57m▀[0m[38;2;57;65;57m[48;2;0;174;148m▀[0m[38;2;66;65;66m[48;2;0;174;156m▀[0m[38;2;66;65;66m[48;2;0;174;156m▀[0m[38;2;66;65;66m[48;2;0;174;156m▀[0m[38;2;0;174;156m[48;2;0;174;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;0;119;82m[48;2;0;0;0m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;2;175;156m[48;2;2;175;156m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;119;82m[48;2;0;119;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;119;82m[48;2;0;0;0m▀[0m[38;2;0;119;82m[48;2;0;0;0m▀[0m[38;2;0;119;82m[48;2;0;0;0m▀[0m[38;2;41;109;90m[48;2;24;0;0m▀[0m[38;2;35;72;60m[48;2;35;72;60m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;174;148m[48;2;57;65;57m▀[0m[38;2;28;119;102m[48;2;57;65;57m▀[0m[38;2;16;117;82m[48;2;16;78;54m▀[0m[38;2;16;117;82m[48;2;16;0;0m▀[0m[38;2;0;119;82m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;66;65;66m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;83;112m[48;2;66;65;66m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;16;117;82m[48;2;16;0;0m▀[0m[38;2;16;117;82m[48;2;16;78;54m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;0;85;57m[48;2;71;93;82m▀[0m[38;2;71;93;82m[48;2;214;109;132m▀[0m[38;2;222;130;140m[48;2;222;130;140m▀[0m[38;2;222;130;140m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;66;116;142m▀[0m[38;2;66;116;142m[48;2;66;116;142m▀[0m[38;2;66;117;140m[48;2;192;195;172m▀[0m[38;2;66;117;140m[48;2;255;235;189m▀[0m[38;2;66;113;140m[48;2;255;231;189m▀[0m[38;2;66;113;140m[48;2;160;172;164m▀[0m[38;2;66;116;142m[48;2;66;116;142m▀[0m[38;2;0;0;0m[48;2;66;116;142m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;119;82m▀[0m[38;2;0;0;0m[48;2;0;119;82m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;66;65;66m▀[0m[38;2;178;140;65m[48;2;126;98;49m▀[0m[38;2;126;98;49m[48;2;178;140;65m▀[0m[38;2;126;98;46m[48;2;126;98;46m▀[0m[38;2;66;65;66m[48;2;126;98;46m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;0;121;82m▀[0m[38;2;0;16;8m[48;2;55;72;60m▀[0m[38;2;0;16;8m[48;2;165;186;165m▀[0m[38;2;178;170;162m[48;2;178;170;162m▀[0m[38;2;156;146;140m[48;2;156;146;140m▀[0m[38;2;66;65;66m[48;2;159;151;126m▀[0m[38;2;206;195;156m[48;2;66;65;66m▀[0m[38;2;206;148;128m[48;2;206;203;156m▀[0m[38;2;206;40;74m[48;2;206;203;156m▀[0m[38;2;255;235;198m[48;2;214;36;74m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;0;0;0m[48;2;66;113;148m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;222;130;140m▀[0m[38;2;0;0;0m[48;2;107;166;57m▀[0m[38;2;107;166;57m[48;2;107;166;57m▀[0m[38;2;33;158;115m[48;2;99;150;49m▀[0m[38;2;0;162;148m[48;2;0;162;148m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;189;162;132m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;181;142;66m[48;2;0;121;82m▀[0m[38;2;115;89;33m[48;2;38;135;99m▀[0m[38;2;38;135;99m[48;2;0;158;132m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;175;156m[48;2;0;175;156m▀[0m[38;2;0;138;107m[48;2;0;138;107m▀[0m[38;2;181;170;156m[48;2;0;138;107m▀[0m[38;2;165;158;148m[48;2;0;121;82m▀[0m[38;2;165;158;148m[48;2;0;121;82m▀[0m[38;2;43;116;73m[48;2;8;101;82m▀[0m[38;2;8;101;82m[48;2;115;146;57m▀[0m[38;2;66;65;66m[48;2;107;166;57m▀[0m[38;2;66;65;66m[48;2;107;166;57m▀[0m[38;2;255;235;198m[48;2;66;65;66m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;214;36;74m▀[0m[38;2;255;235;198m[48;2;214;36;74m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;160;172;164m[48;2;255;231;189m▀[0m[38;2;66;113;140m[48;2;66;113;140m▀[0m[38;2;63;61;71m[48;2;57;113;148m▀[0m[38;2;60;87;109m[48;2;60;87;109m▀[0m[38;2;57;85;111m[48;2;57;85;111m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;222;130;140m▀[0m[38;2;0;0;0m[48;2;222;130;140m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;222;134;148m[48;2;107;190;66m▀[0m[38;2;107;190;66m[48;2;183;152;120m▀[0m[38;2;107;162;57m[48;2;183;178;123m▀[0m[38;2;107;162;57m[48;2;222;186;156m▀[0m[38;2;107;166;57m[48;2;214;199;156m▀[0m[38;2;214;199;156m[48;2;214;199;156m▀[0m[38;2;189;162;132m[48;2;189;162;132m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;35;155;112m[48;2;107;158;57m▀[0m[38;2;0;154;140m[48;2;107;158;57m▀[0m[38;2;0;174;156m[48;2;107;166;57m▀[0m[38;2;0;174;156m[48;2;107;166;57m▀[0m[38;2;8;113;74m[48;2;123;211;74m▀[0m[38;2;84;178;74m[48;2;123;211;74m▀[0m[38;2;107;166;57m[48;2;134;190;73m▀[0m[38;2;107;166;57m[48;2;148;203;82m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;176;167;104m[48;2;176;167;104m▀[0m[38;2;66;65;66m[48;2;176;167;104m▀[0m[38;2;66;60;66m[48;2;192;160;154m▀[0m[38;2;255;211;198m[48;2;66;60;66m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;214;36;74m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;192;160;132m[48;2;192;160;132m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;247;150;165m[48;2;247;150;165m▀[0m[38;2;247;150;165m[48;2;247;150;165m▀[0m[38;2;247;150;165m[48;2;198;231;107m▀[0m[38;2;247;150;165m[48;2;115;214;77m▀[0m[38;2;115;214;77m[48;2;115;214;77m▀[0m[38;2;192;160;132m[48;2;192;160;132m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;218;198;160m[48;2;247;235;198m▀[0m[38;2;218;198;160m[48;2;189;162;123m▀[0m[38;2;189;162;132m[48;2;112;216;76m▀[0m[38;2;189;162;132m[48;2;112;216;76m▀[0m[38;2;112;214;73m[48;2;112;214;73m▀[0m[38;2;107;166;57m[48;2;112;214;73m▀[0m[38;2;107;164;57m[48;2;107;164;57m▀[0m[38;2;107;164;57m[48;2;115;215;74m▀[0m[38;2;115;214;77m[48;2;115;214;77m▀[0m[38;2;115;214;77m[48;2;247;150;165m▀[0m[38;2;244;151;165m[48;2;244;151;165m▀[0m[38;2;244;151;165m[48;2;244;151;165m▀[0m[38;2;231;138;148m[48;2;231;138;148m▀[0m[38;2;115;216;76m[48;2;231;138;148m▀[0m[38;2;156;190;82m[48;2;216;128;142m▀[0m[38;2;156;190;82m[48;2;156;190;82m▀[0m[38;2;106;163;57m[48;2;156;189;82m▀[0m[38;2;106;163;57m[48;2;156;189;82m▀[0m[38;2;156;190;82m[48;2;156;190;82m▀[0m[38;2;216;128;142m[48;2;156;190;82m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;66;73;57m[48;2;160;160;119m▀[0m[38;2;255;247;181m[48;2;66;73;57m▀[0m[38;2;231;199;148m[48;2;176;161;134m▀[0m[38;2;176;161;134m[48;2;66;85;107m▀[0m[38;2;57;85;111m[48;2;57;85;111m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;192;159;131m[48;2;192;159;131m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;186;192;134m[48;2;255;203;198m▀[0m[38;2;117;181;71m[48;2;186;192;134m▀[0m[38;2;112;214;76m[48;2;112;214;76m▀[0m[38;2;112;214;76m[48;2;112;214;76m▀[0m[38;2;115;215;73m[48;2;115;215;73m▀[0m[38;2;115;215;73m[48;2;198;231;107m▀[0m[38;2;247;150;165m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;247;150;165m▀[0m[38;2;244;151;167m[48;2;244;151;167m▀[0m[38;2;222;130;140m[48;2;244;151;167m▀[0m[38;2;198;231;107m[48;2;218;127;144m▀[0m[38;2;218;127;144m[48;2;218;127;144m▀[0m[38;2;216;128;142m[48;2;216;128;142m▀[0m[38;2;216;128;142m[48;2;156;190;82m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;156;190;82m[48;2;156;190;82m▀[0m[38;2;33;93;74m[48;2;33;93;74m▀[0m[38;2;57;83;112m[48;2;66;65;66m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;119;82m▀[0m[38;2;0;20;16m[48;2;63;91;49m▀[0m[38;2;189;235;115m[48;2;189;235;115m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;208;195;145m[48;2;189;170;123m▀[0m[38;2;189;170;123m[48;2;247;247;189m▀[0m[38;2;192;160;132m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;192;160;132m▀[0m[38;2;255;235;198m[48;2;192;160;132m▀[0m[38;2;192;159;131m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;115;215;73m[48;2;198;231;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;218;127;144m[48;2;198;231;107m▀[0m[38;2;218;127;144m[48;2;198;231;107m▀[0m[38;2;218;127;144m[48;2;218;127;144m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;219;128;143m[48;2;219;128;143m▀[0m[38;2;218;127;144m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;159;187;82m[48;2;198;231;107m▀[0m[38;2;159;187;82m[48;2;159;187;82m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;16;117;82m[48;2;16;117;82m▀[0m[38;2;16;0;0m[48;2;16;78;54m▀[0m[38;2;57;85;111m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;0;119;82m▀[0m[38;2;0;119;82m[48;2;0;119;82m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;208;195;145m[48;2;189;170;123m▀[0m[38;2;189;170;123m[48;2;247;247;189m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;192;160;132m[48;2;192;160;132m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;115;215;73m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;115;215;73m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;159;189;82m[48;2;159;189;82m▀[0m[38;2;159;189;82m[48;2;0;121;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;120;82m[48;2;0;120;82m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;66;64;65m▀[0m[38;2;63;61;71m[48;2;60;87;109m▀[0m[38;2;60;87;109m[48;2;57;113;148m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;0;0;0m[48;2;66;116;142m▀[0m[38;2;0;0;0m[48;2;66;116;142m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;16;117;82m[48;2;16;0;0m▀[0m[38;2;16;117;82m[48;2;16;78;54m▀[0m[38;2;107;164;57m[48;2;107;164;57m▀[0m[38;2;198;231;107m[48;2;107;164;57m▀[0m[38;2;107;164;57m[48;2;107;164;57m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;172;187;150m[48;2;8;109;74m▀[0m[38;2;255;227;189m[48;2;255;227;189m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;192;159;131m[48;2;192;159;131m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;115;215;73m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;195;232;107m[48;2;195;232;107m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;198;231;107m[48;2;198;231;107m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;198;227;99m[48;2;0;117;74m▀[0m[38;2;0;117;74m[48;2;99;172;86m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;107;164;57m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;90m[48;2;66;65;74m▀[0m[38;2;66;65;74m[48;2;44;83;79m▀[0m[38;2;57;85;115m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;57;85;115m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;62;116;145m▀[0m[38;2;62;116;145m[48;2;62;116;145m▀[0m[38;2;57;85;115m[48;2;57;85;115m▀[0m[38;2;57;85;111m[48;2;57;85;111m▀[0m[38;2;0;0;0m[48;2;57;85;111m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;255;255;255m▀[0m[38;2;0;0;0m[48;2;189;190;198m▀[0m[38;2;0;0;0m▄[38;2;16;4;0m[48;2;43;60;71m▀[0m[38;2;71;117;142m[48;2;71;117;142m▀[0m[38;2;66;65;66m[48;2;66;115;144m▀[0m[38;2;66;65;66m[48;2;66;115;144m▀[0m[38;2;0;109;90m[48;2;82;147;128m▀[0m[38;2;0;109;90m[48;2;247;223;206m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;0;117;74m[48;2;99;172;86m▀[0m[38;2;198;227;99m[48;2;0;117;74m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;198;231;107m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;117;74m[48;2;99;172;86m▀[0m[38;2;198;227;99m[48;2;0;117;74m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;8;113;66m[48;2;103;170;78m▀[0m[38;2;198;227;90m[48;2;103;170;78m▀[0m[38;2;107;164;57m[48;2;107;164;57m▀[0m[38;2;0;121;82m[48;2;107;164;57m▀[0m[38;2;107;164;57m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;63;56;52m[48;2;189;162;140m▀[0m[38;2;0;4;8m[48;2;0;4;8m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;255;255;255m[48;2;0;0;0m▀[0m[38;2;198;166;123m[48;2;236;225;205m▀[0m[38;2;255;255;247m[48;2;217;195;164m▀[0m[38;2;255;255;255m[48;2;189;160;131m▀[0m[38;2;189;160;131m[48;2;189;160;131m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;66;65;66m[48;2;255;235;198m▀[0m[38;2;66;115;144m[48;2;66;65;66m▀[0m[38;2;66;115;144m[48;2;66;115;144m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;63;115;145m[48;2;63;115;145m▀[0m[38;2;255;235;198m[48;2;66;113;148m▀[0m[38;2;255;235;198m[48;2;66;113;148m▀[0m[38;2;231;231;214m[48;2;93;117;131m▀[0m[38;2;24;60;90m[48;2;93;117;131m▀[0m[38;2;107;164;57m[48;2;33;93;74m▀[0m[38;2;107;164;57m[48;2;33;93;74m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;198;227;90m[48;2;103;170;78m▀[0m[38;2;103;170;78m[48;2;8;113;66m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;166;57m[48;2;107;166;57m▀[0m[38;2;107;166;57m[48;2;66;65;66m▀[0m[38;2;107;166;57m[48;2;66;65;66m▀[0m[38;2;107;166;57m[48;2;107;166;57m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;107;164;60m[48;2;107;164;60m▀[0m[38;2;198;227;99m[48;2;0;117;74m▀[0m[38;2;99;172;86m[48;2;0;117;74m▀[0m[38;2;107;164;57m[48;2;0;121;82m▀[0m[38;2;0;121;82m[48;2;0;121;82m▀[0m[38;2;115;146;57m[48;2;8;101;82m▀[0m[38;2;8;101;82m[48;2;43;116;73m▀[0m[38;2;0;121;90m[48;2;66;65;74m▀[0m[38;2;66;65;74m[48;2;44;83;79m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;57;83;112m[48;2;66;65;66m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;85;111m[48;2;57;85;111m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;63;56;52m[48;2;0;4;8m▀[0m[38;2;189;162;140m[48;2;0;4;8m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;255;235;198m[48;2;0;0;0m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;62;116;145m[48;2;57;85;115m▀[0m[38;2;57;113;148m[48;2;60;87;109m▀[0m[38;2;63;61;71m[48;2;60;87;109m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;66;65;74m[48;2;44;83;79m▀[0m[38;2;0;121;90m[48;2;66;65;74m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;0;121;82m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;192;191;192m[48;2;255;255;255m▀[0m[38;2;255;255;255m[48;2;255;255;255m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;192;191;192m▀[0m[38;2;66;65;66m[48;2;255;255;255m▀[0m[38;2;0;121;90m[48;2;66;65;74m▀[0m[38;2;66;65;74m[48;2;44;83;79m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;66;65;66m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;255;235;198m[48;2;0;0;0m▀[0m[38;2;150;105;52m[48;2;150;105;52m▀[0m[38;2;150;105;52m[48;2;178;141;63m▀[0m[38;2;255;235;198m[48;2;148;105;49m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;217;199;154m▀[0m[38;2;217;199;154m[48;2;217;199;154m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;83;112m[48;2;66;65;66m▀[0m[38;2;66;65;66m[48;2;255;235;198m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;222;198;162m[48;2;255;235;198m▀[0m[38;2;189;161;126m[48;2;255;235;198m▀[0m[38;2;192;160;132m[48;2;255;235;198m▀[0m[38;2;192;160;132m[48;2;255;235;198m▀[0m[38;2;247;255;255m[48;2;181;158;140m▀[0m[38;2;203;190;178m[48;2;181;158;140m▀[0m[38;2;66;65;66m[48;2;255;255;255m▀[0m[38;2;66;65;66m[48;2;255;255;255m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;148;105;49m[48;2;0;0;0m▀[0m[38;2;198;146;74m[48;2;8;4;0m▀[0m[38;2;134;98;49m[48;2;134;98;49m▀[0m[38;2;214;199;156m[48;2;214;199;156m▀[0m[38;2;214;199;156m[48;2;66;65;66m▀[0m[38;2;66;64;66m[48;2;0;0;0m▀[0m[38;2;66;64;66m[48;2;0;0;0m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;66;73;82m[48;2;66;73;82m▀[0m[38;2;66;73;82m[48;2;255;235;198m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;252;235;200m[48;2;252;235;200m▀[0m[38;2;255;235;198m[48;2;148;105;49m▀[0m[38;2;255;235;198m[48;2;148;105;49m▀[0m[38;2;255;235;198m[48;2;148;105;57m▀[0m[38;2;255;235;198m[48;2;219;191;151m▀[0m[38;2;217;200;154m[48;2;217;200;154m▀[0m[38;2;189;162;132m[48;2;217;200;154m▀[0m[38;2;255;243;239m[48;2;192;182;178m▀[0m[38;2;192;182;178m[48;2;66;60;57m▀[0m[38;2;66;65;66m[48;2;57;83;112m▀[0m[38;2;57;83;112m[48;2;57;83;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;84;112m[48;2;57;84;112m▀[0m[38;2;57;85;111m[48;2;57;85;111m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀ [38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;66;65;66m[48;2;66;65;66m▀[0m[38;2;255;235;198m[48;2;255;235;198m▀[0m[38;2;255;239;198m[48;2;219;194;148m▀[0m[38;2;148;105;49m[48;2;148;105;49m▀[0m[38;2;150;105;52m[48;2;178;141;63m▀[0m[38;2;178;141;63m[48;2;178;141;63m▀[0m[38;2;178;141;63m[48;2;178;141;63m▀[0m[38;2;150;105;52m[48;2;150;105;52m▀[0m[38;2;214;200;154m[48;2;214;200;154m▀[0m[38;2;214;200;154m[48;2;214;200;154m▀[0m[38;2;214;199;156m[48;2;71;66;57m▀[0m[38;2;71;66;57m[48;2;0;0;8m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;57;85;111m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;66;65;66m[48;2;0;0;0m▀[0m[38;2;214;199;153m[48;2;214;199;153m▀[0m[38;2;148;105;49m[48;2;214;199;153m▀[0m[38;2;178;141;63m[48;2;150;105;52m▀[0m[38;2;178;141;63m[48;2;150;105;52m▀[0m[38;2;148;103;52m[48;2;148;103;52m▀[0m[38;2;148;103;52m[48;2;214;199;156m▀[0m[38;2;214;199;156m[48;2;214;199;156m▀[0m[38;2;214;199;156m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;214;199;156m[48;2;0;0;0m▀[0m[38;2;214;199;156m[48;2;0;0;0m▀[0m[38;2;214;199;156m[48;2;0;0;0m▀[0m[38;2;214;199;156m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀
|
||||
[0m
|
||||
@@ -1,16 +0,0 @@
|
||||
[49m
|
||||
[38;5;16m▄▄▄▄[48;5;16m [38;5;220m▄[49m[38;5;16m▄ ▄[48;5;16m[38;5;28m▄▄[49m[38;5;16m▄▄▄
|
||||
▄[48;5;16m[38;5;94m▄[38;5;208m▄[38;5;94m▄[48;5;94m[38;5;220m▄[48;5;166m [48;5;208m▄[48;5;94m[38;5;16m▄▄[48;5;16m[38;5;94m▄▄▄▄▄▄▄[48;5;28m[38;5;16m▄▄[48;5;16m [49m
|
||||
▄▄[48;5;16m[38;5;94m▄[48;5;220m▄ [48;5;94m[38;5;220m▄[48;5;166m [48;5;220m[38;5;16m▄[48;5;16m[38;5;94m▄▄[48;5;94m[38;5;220m▄▄[48;5;220m [38;5;100m▄ [48;5;94m[38;5;220m▄[48;5;220m [38;5;100m▄ [48;5;94m [38;5;220m▄[48;5;16m[38;5;94m▄[49m[38;5;16m▄
|
||||
▄[48;5;16m[38;5;166m▄▄[48;5;220m[38;5;94m▄[38;5;166m▄ ▄[38;5;16m▄[48;5;16m[38;5;94m▄[48;5;94m[38;5;220m▄[48;5;220m[38;5;100m▄ [38;5;94m▄ [48;5;94m[38;5;220m▄[48;5;220m [38;5;100m▄ [48;5;94m[38;5;220m▄[48;5;16m[38;5;94m▄[49m[38;5;16m▄
|
||||
▀[48;5;166m▄[48;5;220m[38;5;94m▄[38;5;28m▄[48;5;94m▄[48;5;166m[38;5;88m▄[48;5;220m[38;5;52m▄[38;5;16m▄[48;5;16m[38;5;94m▄[48;5;94m[38;5;220m▄[48;5;220m [48;5;100m▄[48;5;220m [48;5;100m▄[48;5;220m [38;5;100m▄ ▄ [48;5;94m [48;5;16m [49m
|
||||
[38;5;16m▄[48;5;16m[38;5;22m▄[48;5;40m▄[48;5;94m [48;5;208m[38;5;40m▄[48;5;40m [48;5;88m▄[48;5;52m▄[48;5;16m [48;5;94m [48;5;220m [48;5;100m[38;5;220m▄[48;5;220m [48;5;94m▄[48;5;220m [48;5;100m▄[48;5;220m [38;5;100m▄ [48;5;94m[38;5;220m▄[48;5;220m [38;5;100m▄[48;5;100m[38;5;94m▄[48;5;16m [49m
|
||||
[48;5;16m [48;5;40m[38;5;22m▄[48;5;22m[38;5;40m▄▄[48;5;40m[38;5;88m▄[48;5;88m[38;5;52m▄[48;5;52m[38;5;40m▄[48;5;16m [48;5;94m [48;5;220m[38;5;100m▄ [48;5;100m[38;5;220m▄[48;5;220m [48;5;100m▄[48;5;220m [48;5;100m▄[48;5;220m[38;5;100m▄▄[48;5;100m[38;5;94m▄▄[48;5;94m [48;5;16m [49m
|
||||
[38;5;16m▄[48;5;16m[38;5;28m▄[48;5;40m[38;5;22m▄[48;5;88m[38;5;52m▄▄[48;5;40m[38;5;22m▄[38;5;88m▄[38;5;52m▄[38;5;28m▄[48;5;16m [48;5;94m [48;5;220m [48;5;100m[38;5;220m▄[48;5;220m[38;5;94m▄ [38;5;100m▄ ▄▄[48;5;100m[38;5;94m▄▄[48;5;94m [38;5;16m▄▄[48;5;16m[38;5;240m▄▄[48;5;240m [49m[38;5;243m▄
|
||||
[48;5;16m [38;5;233m▄[48;5;22m[38;5;58m▄[48;5;40m [38;5;233m▄[48;5;52m▄▄[48;5;16m [48;5;94m [48;5;220m [48;5;94m[38;5;220m▄[48;5;220m[38;5;100m▄ ▄▄[48;5;100m[38;5;94m▄▄[48;5;94m [38;5;16m▄▄[48;5;16m[38;5;240m▄▄[48;5;240m [38;5;243m▄▄[49m▀▀
|
||||
[38;5;16m▀[48;5;58m▄[48;5;233m [48;5;58m[38;5;233m▄ [48;5;233m [48;5;58m▄[48;5;16m [48;5;94m [48;5;220m [38;5;100m▄▄[48;5;100m[38;5;94m▄▄[48;5;94m [38;5;16m▄▄[48;5;16m[38;5;240m▄▄[48;5;240m [38;5;243m▄▄[49m▀▀
|
||||
[48;5;16m [48;5;58m[38;5;233m▄[48;5;233m[38;5;58m▄ [48;5;58m[38;5;16m▄[48;5;16m[38;5;100m▄[48;5;94m▄[48;5;100m[38;5;94m▄▄[48;5;94m [38;5;16m▄▄[48;5;16m[38;5;240m▄▄[48;5;240m [38;5;243m▄▄[49m▀▀
|
||||
[48;5;16m[38;5;240m▄▄[48;5;233m[38;5;16m▄[48;5;58m▄[48;5;16m [48;5;94m▄▄▄[48;5;16m[38;5;240m▄▄[48;5;240m [38;5;243m▄▄[49m▀▀
|
||||
▀[38;5;240m▀▀[48;5;240m[38;5;243m▄▄▄▄▄▄[49m[38;5;240m▀[38;5;243m▀▀
|
||||
[39m
|
||||
[0m
|
||||
@@ -1,16 +0,0 @@
|
||||
███████████ █████ ███ █████
|
||||
░░███░░░░░███ ░░███ ░░░ ░░███
|
||||
░███ ░███ ██████ ██████ ███████ ████ ██████ █████ ███████
|
||||
░██████████ ███░░███ ███░░███░░░███░ ░░███ ███░░███ ███░░ ░░░███░
|
||||
░███░░░░░███ ░███ ░███░███ ░███ ░███ ░███ ░███████ ░░█████ ░███
|
||||
░███ ░███ ░███ ░███░███ ░███ ░███ ███ ░███ ░███░░░ ░░░░███ ░███ ███
|
||||
█████ █████░░██████ ░░██████ ░░█████ █████░░██████ ██████ ░░█████
|
||||
░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░░
|
||||
██████ █████ █████ █████ ███
|
||||
░░██████ ░░███ ░░███ ░░███ ░░░
|
||||
░███░███ ░███ ░███ ░███ ████ █████████████
|
||||
░███░░███░███ ░███ ░███ ░░███ ░░███░░███░░███
|
||||
░███ ░░██████ ░░███ ███ ░███ ░███ ░███ ░███
|
||||
░███ ░░█████ ░░░█████░ ░███ ░███ ░███ ░███
|
||||
█████ ░░█████ ░░███ █████ █████░███ █████
|
||||
░░░░░ ░░░░░ ░░░ ░░░░░ ░░░░░ ░░░ ░░░░░
|
||||
@@ -1 +0,0 @@
|
||||
NeoVim
|
||||
@@ -1,25 +0,0 @@
|
||||
[38;2;0;0;0m▄ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;123;105;180m▀[0m[38;2;0;0;0m▄ [38;2;0;0;0m▄ [38;2;0;0;0m▄ [38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;89;82m[48;2;246;89;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;123;105;180m[48;2;123;105;180m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;65;145;189m[48;2;65;145;189m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;65;145;189m[48;2;65;145;189m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;123;105;180m[48;2;123;105;180m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;0;0;0m[48;2;255;153;57m▀[0m[38;2;0;0;0m▄ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;82;75;54m[48;2;246;226;164m▀[0m[38;2;246;89;82m[48;2;246;89;82m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;123;105;180m[48;2;246;230;156m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;74;125;180m[48;2;74;125;180m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;65;145;189m[48;2;65;145;189m▀[0m[38;2;57;109;156m[48;2;57;109;156m▀[0m[38;2;98;124;126m[48;2;180;153;65m▀[0m[38;2;0;4;0m[48;2;61;56;86m▀[0m[38;2;123;109;172m[48;2;123;109;172m▀[0m[38;2;142;125;112m[48;2;65;60;74m▀[0m[38;2;180;157;131m[48;2;65;60;74m▀[0m[38;2;0;8;8m[48;2;246;101;90m▀[0m[38;2;0;8;8m[48;2;82;39;35m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;65;68;65m[48;2;246;230;156m▀[0m[38;2;65;68;65m[48;2;65;68;65m▀[0m[38;2;246;153;90m[48;2;246;153;90m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;178;143;98m[48;2;255;214;148m▀[0m[38;2;24;0;0m[48;2;255;214;148m▀[0m[38;2;0;0;0m▄ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;0;0;8m[48;2;82;76;57m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;189;174;90m▀[0m[38;2;189;174;90m[48;2;189;174;90m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;16m[48;2;0;0;16m▀[0m[38;2;109;113;98m[48;2;164;170;139m▀[0m[38;2;191;172;87m[48;2;65;64;65m▀[0m[38;2;65;64;65m[48;2;191;172;87m▀[0m[38;2;191;138;65m[48;2;65;68;65m▀[0m[38;2;65;68;65m[48;2;255;174;65m▀[0m[38;2;246;153;90m[48;2;246;153;90m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;246;89;82m[48;2;65;64;65m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;189;174;90m[48;2;63;60;41m▀[0m[38;2;189;174;90m[48;2;0;4;16m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;74;68;65m[48;2;255;218;123m▀[0m[38;2;194;168;104m[48;2;74;68;65m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;0;0;0m[48;2;246;230;156m▀[0m[38;2;0;0;0m▄ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;197;174;98m[48;2;197;174;98m▀[0m[38;2;74;64;115m[48;2;115;101;109m▀[0m[38;2;0;0;0m[48;2;78;68;65m▀[0m[38;2;156;137;131m[48;2;156;137;131m▀[0m[38;2;189;174;90m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;191;172;87m[48;2;191;172;87m▀[0m[38;2;191;172;87m[48;2;65;64;65m▀[0m[38;2;65;64;65m[48;2;191;172;87m▀[0m[38;2;191;172;87m[48;2;65;64;65m▀[0m[38;2;65;72;74m[48;2;255;153;57m▀[0m[38;2;255;153;57m[48;2;65;72;74m▀[0m[38;2;65;64;65m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;246;230;156m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;82;76;57m[48;2;246;230;156m▀[0m[38;2;0;0;8m[48;2;246;230;156m▀[0m[38;2;65;68;65m[48;2;65;68;65m▀[0m[38;2;246;230;156m[48;2;65;68;65m▀[0m[38;2;255;214;148m[48;2;255;214;148m▀[0m[38;2;24;0;0m[48;2;178;143;98m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;65;64;65m▀[0m[38;2;123;105;180m[48;2;123;105;180m▀[0m[38;2;189;157;197m[48;2;189;157;197m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;123;105;180m[48;2;123;105;180m▀[0m[38;2;0;0;0m[48;2;65;64;65m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;156;178;205m▀[0m[38;2;156;178;205m[48;2;156;178;205m▀[0m[38;2;139;230;205m[48;2;82;72;57m▀[0m[38;2;82;72;57m[48;2;111;151;131m▀[0m[38;2;186;175;112m[48;2;65;64;57m▀[0m[38;2;65;64;57m[48;2;246;230;139m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;74;80;74m▀[0m[38;2;246;230;156m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;246;194;139m[48;2;0;0;0m▀[0m[38;2;246;194;139m[48;2;0;0;0m▀[0m[38;2;191;175;82m[48;2;65;64;65m▀[0m[38;2;255;230;90m[48;2;191;175;82m▀[0m[38;2;65;48;57m[48;2;255;194;82m▀[0m[38;2;191;145;74m[48;2;65;48;57m▀[0m[38;2;246;121;106m[48;2;246;121;106m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;191;172;87m[48;2;191;172;87m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;191;175;76m[48;2;65;64;65m▀[0m[38;2;65;64;65m[48;2;255;230;82m▀[0m[38;2;255;230;82m[48;2;255;230;82m▀[0m[38;2;255;230;82m[48;2;194;174;87m▀[0m[38;2;65;64;65m[48;2;246;230;156m▀[0m[38;2;65;64;65m[48;2;246;230;156m▀[0m[38;2;65;64;65m[48;2;246;230;156m▀[0m[38;2;65;64;65m[48;2;246;230;156m▀[0m[38;2;255;226;156m[48;2;197;171;126m▀[0m[38;2;255;226;156m[48;2;82;60;65m▀[0m[38;2;82;39;35m[48;2;246;101;90m▀[0m[38;2;0;8;8m[48;2;0;8;8m▀[0m
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m▀[38;2;246;230;156m[48;2;0;0;0m▀[0m[38;2;189;174;87m[48;2;57;68;98m▀[0m[38;2;57;68;98m[48;2;189;174;87m▀[0m[38;2;186;175;104m[48;2;186;175;104m▀[0m[38;2;65;64;49m[48;2;246;230;131m▀[0m[38;2;186;175;117m[48;2;246;230;148m▀[0m[38;2;65;64;57m[48;2;246;230;148m▀[0m[38;2;193;174;86m[48;2;246;230;156m▀[0m[38;2;193;174;86m[48;2;246;230;156m▀[0m[38;2;193;174;86m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;82;76;57m▀[0m[38;2;246;230;156m[48;2;0;0;8m▀[0m[38;2;246;153;98m[48;2;82;56;43m▀[0m[38;2;246;153;98m[48;2;0;8;16m▀[0m[38;2;65;64;65m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;36;137;174m[48;2;36;137;174m▀[0m[38;2;0;0;0m[48;2;36;137;174m▀[0m[38;2;0;0;0m▄[38;2;0;0;8m[48;2;68;70;68m▀[0m[38;2;137;140;128m[48;2;205;210;189m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;67;180;225m▀[0m[38;2;246;230;156m[48;2;67;180;225m▀[0m[38;2;246;230;156m[48;2;67;180;225m▀[0m[38;2;246;226;131m[48;2;39;138;177m▀[0m[38;2;183;180;134m[48;2;23;130;172m▀[0m[38;2;183;176;128m[48;2;255;230;131m▀[0m[38;2;37;144;181m[48;2;37;144;181m▀[0m[38;2;0;0;0m[48;2;49;48;49m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m[48;2;67;180;225m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;44;134;164m[48;2;8;4;0m▀[0m[38;2;44;134;164m[48;2;25;59;72m▀[0m[38;2;65;64;65m[48;2;246;230;156m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;0;0;0m▀[0m[38;2;57;68;74m[48;2;161;192;194m▀[0m[38;2;57;68;74m[48;2;213;255;255m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;59;127;152m[48;2;61;187;235m▀[0m[38;2;61;187;235m[48;2;55;66;69m▀[0m[38;2;65;64;65m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;233;233;233m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;32m[48;2;238;230;172m▀[0m[38;2;238;230;172m[48;2;119;115;102m▀[0m[38;2;246;230;156m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;41;76;98m[48;2;178;182;131m▀[0m[38;2;109;129;115m[48;2;246;234;148m▀[0m[38;2;65;145;189m[48;2;246;238;189m▀[0m[38;2;246;238;189m[48;2;246;238;189m▀[0m[38;2;246;230;156m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;59;187;239m[48;2;49;122;151m▀[0m[38;2;59;187;239m[48;2;38;53;64m▀[0m[38;2;64;183;237m[48;2;0;0;0m▀[0m[38;2;43;123;158m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;180;170;115m[48;2;0;0;24m▀[0m[38;2;120;113;84m[48;2;180;170;115m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;67;180;225m[48;2;0;0;0m▀[0m[38;2;67;180;225m[48;2;0;0;0m▀[0m[38;2;67;180;225m[48;2;49;48;49m▀[0m[38;2;67;180;225m[48;2;49;48;49m▀[0m[38;2;49;48;49m[48;2;36;137;174m▀[0m[38;2;49;48;49m[48;2;36;137;174m▀[0m[38;2;36;137;174m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;67;180;225m▀[0m[38;2;0;0;0m[48;2;64;183;237m▀[0m[38;2;0;0;0m[48;2;43;123;158m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;171;174;177m[48;2;171;174;177m▀[0m[38;2;0;0;0m[48;2;171;174;177m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀ [38;2;0;0;0m▀[38;2;36;137;174m[48;2;0;0;0m▀[0m[38;2;39;138;175m[48;2;39;138;175m▀[0m[38;2;39;138;175m[48;2;39;138;175m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;51;190;237m[48;2;54;138;165m▀[0m[38;2;54;138;165m[48;2;51;66;82m▀[0m[38;2;35;132;168m[48;2;229;230;227m▀[0m[38;2;229;230;227m[48;2;214;216;222m▀[0m[38;2;233;235;233m[48;2;193;195;193m▀[0m[38;2;148;148;148m[48;2;193;195;193m▀[0m[38;2;185;191;191m[48;2;185;191;191m▀[0m[38;2;185;191;191m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;36;137;174m[48;2;67;180;225m▀[0m[38;2;36;137;174m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;0;0;0m[48;2;67;180;225m▀[0m[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m▄[38;2;0;0;0m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;7;3;8m[48;2;233;235;233m▀[0m[38;2;38;37;38m[48;2;169;173;169m▀[0m[38;2;185;191;191m[48;2;0;0;0m▀[0m[38;2;185;191;191m[48;2;0;0;0m▀[0m[38;2;183;189;188m[48;2;183;189;188m▀[0m[38;2;183;189;188m[48;2;148;148;148m▀[0m[38;2;183;189;188m[48;2;183;189;188m▀[0m[38;2;148;148;148m[48;2;183;189;188m▀[0m[38;2;0;0;0m[48;2;179;184;185m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▄[38;2;0;0;0m[48;2;67;180;225m▀[0m[38;2;0;0;0m▄ [38;2;0;0;0m▄[38;2;0;0;0m[48;2;67;180;225m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;36;137;174m▀[0m[38;2;38;116;142m[48;2;232;233;232m▀[0m[38;2;232;233;232m[48;2;57;111;129m▀[0m[38;2;171;172;177m[48;2;86;165;193m▀[0m[38;2;76;118;134m[48;2;57;48;32m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;148;148;148m▀[0m[38;2;148;148;148m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;8;4;0m[48;2;80;175;209m▀[0m[38;2;8;4;0m[48;2;43;85;101m▀[0m[38;2;78;112;125m[48;2;78;112;125m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;67;180;225m[48;2;118;117;118m▀[0m[38;2;118;117;118m[48;2;67;180;225m▀[0m[38;2;118;117;118m[48;2;67;180;225m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;69;187;226m[48;2;49;52;49m▀[0m[38;2;49;52;49m[48;2;50;80;101m▀[0m[38;2;233;235;233m[48;2;193;195;193m▀[0m[38;2;233;235;233m[48;2;148;148;148m▀[0m[38;2;148;148;148m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m▀[38;2;43;123;158m[48;2;0;0;0m▀[0m[38;2;64;183;237m[48;2;43;123;158m▀[0m[38;2;39;138;175m[48;2;39;138;175m▀[0m[38;2;65;64;65m[48;2;65;64;65m▀[0m[38;2;189;174;90m[48;2;189;174;90m▀[0m[38;2;101;101;84m[48;2;51;69;76m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;67;180;225m[48;2;67;180;225m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;69;184;226m[48;2;69;184;226m▀[0m[38;2;59;187;239m[48;2;49;122;151m▀[0m[38;2;59;187;239m[48;2;38;53;64m▀[0m[38;2;49;48;49m[48;2;231;232;234m▀[0m[38;2;185;187;189m[48;2;49;48;49m▀[0m[38;2;49;48;49m[48;2;148;148;148m▀[0m[38;2;49;48;49m[48;2;148;148;148m▀[0m[38;2;154;158;154m[48;2;49;48;49m▀[0m[38;2;233;235;233m[48;2;233;235;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;0;0;0m[48;2;233;233;233m▀[0m[38;2;0;0;0m▄
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;36;137;174m[48;2;0;0;0m▀[0m[38;2;65;64;65m[48;2;148;148;148m▀[0m[38;2;148;148;148m[48;2;71;78;76m▀[0m[38;2;189;174;90m[48;2;38;68;79m▀[0m[38;2;29;111;143m[48;2;54;116;146m▀[0m[38;2;36;137;174m[48;2;49;48;49m▀[0m[38;2;36;137;174m[48;2;49;48;49m▀[0m[38;2;49;48;49m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;233;233;233m▀[0m[38;2;233;233;233m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;148;148;148m[48;2;0;0;0m▀[0m[38;2;148;148;148m[48;2;148;148;148m▀[0m[38;2;148;148;148m[48;2;148;148;148m▀[0m[38;2;49;48;49m[48;2;148;148;148m▀[0m[38;2;231;232;234m[48;2;49;48;49m▀[0m[38;2;231;232;234m[48;2;185;187;189m▀[0m[38;2;184;187;190m[48;2;184;187;190m▀[0m[38;2;184;187;190m[48;2;194;175;84m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;189;174;90m[48;2;189;174;90m▀[0m[38;2;63;60;49m[48;2;189;174;98m▀[0m[38;2;63;60;49m[48;2;0;4;24m▀[0m[38;2;0;0;0m▀[38;2;233;233;233m[48;2;0;0;0m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;229;230;232m[48;2;229;230;232m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;148;148;148m[48;2;148;148;148m▀[0m[38;2;148;148;148m[48;2;148;148;148m▀[0m[38;2;49;48;49m[48;2;0;0;0m▀[0m[38;2;49;48;49m[48;2;49;48;49m▀[0m[38;2;84;84;60m[48;2;84;84;60m▀[0m[38;2;176;165;111m[48;2;0;0;16m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;164;167;170m[48;2;164;167;170m▀[0m[38;2;189;174;90m[48;2;189;174;90m▀[0m[38;2;0;0;8m[48;2;0;0;8m▀[0m[38;2;63;58;38m[48;2;189;174;98m▀[0m[38;2;246;230;148m[48;2;230;231;234m▀[0m[38;2;190;176;107m[48;2;246;230;148m▀[0m[38;2;0;0;0m[48;2;246;230;156m▀[0m[38;2;0;0;0m▄ [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;142;133;85m[48;2;189;174;98m▀[0m[38;2;0;0;8m[48;2;0;0;8m▀[0m [38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;185;191;191m[48;2;185;191;191m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;0m[48;2;0;0;0m▀[0m[38;2;168;170;172m[48;2;168;170;172m▀[0m[38;2;189;174;90m[48;2;189;174;90m▀[0m[38;2;49;48;49m[48;2;49;48;49m▀[0m[38;2;229;230;232m[48;2;229;230;232m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;189;174;90m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;8m[48;2;0;0;8m▀[0m[38;2;35;40;57m[48;2;189;174;98m▀[0m[38;2;189;174;90m[48;2;0;0;0m▀[0m[38;2;0;0;0m▀[38;2;0;0;0m▄[38;2;0;0;0m[48;2;179;184;185m▀[0m[38;2;193;197;193m[48;2;193;197;193m▀[0m[38;2;246;230;156m[48;2;246;230;156m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m
|
||||
[38;2;0;0;8m[48;2;0;0;8m▀[0m[38;2;118;117;118m[48;2;180;170;98m▀[0m[38;2;183;172;101m[48;2;41;48;57m▀[0m[38;2;41;48;57m[48;2;112;110;79m▀[0m[38;2;230;230;232m[48;2;230;230;232m▀[0m[38;2;255;234;139m[48;2;178;169;117m▀[0m[38;2;0;0;0m[48;2;0;0;0m▀[0m [38;2;0;0;0m▀ [38;2;0;0;0m▀[38;2;189;174;90m[48;2;0;0;0m▀[0m[38;2;82;76;60m[48;2;246;230;164m▀[0m[38;2;246;230;164m[48;2;0;0;8m▀[0m[38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀[38;2;0;0;0m▀[38;2;233;233;233m[48;2;0;0;0m▀[0m[38;2;255;238;148m[48;2;169;160;98m▀[0m[38;2;0;4;0m[48;2;0;4;0m▀[0m [38;2;0;0;0m▀
|
||||
[38;2;0;0;0m▀
|
||||
[0m
|
||||
@@ -1 +0,0 @@
|
||||
options.lua
|
||||
@@ -0,0 +1,20 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Bootstaps │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
---- Copyright (C) 2026 Rootiest
|
||||
-- SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
-- This file is sourced before anything else so it can be used to set up
|
||||
-- the runtime path and other fundamental settings.
|
||||
|
||||
-- ─────────────── Manage root user permissions for Neovim ───────────────
|
||||
|
||||
-- Redirect data directories if running as root to avoid permission issues
|
||||
if os.getenv("USER") == "root" or os.getenv("SUDO_USER") ~= nil then
|
||||
local root_data = "/root/.local/share/nvim-root"
|
||||
vim.opt.packpath:prepend(root_data .. "/site")
|
||||
vim.opt.runtimepath:prepend(root_data .. "/site")
|
||||
-- Prevent root from writing shada to your user home
|
||||
vim.opt.shadafile = "/root/.local/state/nvim-root.shada"
|
||||
end
|
||||
@@ -1,171 +0,0 @@
|
||||
--- @module "config.autocmds"
|
||||
--- This module defines the autocommands for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Autocommands │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local autogrp = vim.api.nvim_create_augroup
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
|
||||
-- LazyGit root detection
|
||||
-- if pcall(require, 'lazygit.utils') then
|
||||
-- autocmd('BufEnter', {
|
||||
-- pattern = '*',
|
||||
-- callback = function()
|
||||
-- require('lazygit.utils').project_root_dir()
|
||||
-- end,
|
||||
-- })
|
||||
-- end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━ Set up Qalc keymappings ━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Create a group for filetype-specific mappings
|
||||
autogrp('QalcFileTypeMappings', { clear = true })
|
||||
|
||||
-- Create an autocommand for the qalc filetype
|
||||
autocmd('FileType', {
|
||||
pattern = 'qalc',
|
||||
group = 'QalcFileTypeMappings',
|
||||
callback = function()
|
||||
-- Set the key mapping: 'y' to run the :QalcYank command in normal mode
|
||||
vim.keymap.set( -- Yank Result
|
||||
'n',
|
||||
'y',
|
||||
':QalcYank +<CR>',
|
||||
{ noremap = true, silent = true }
|
||||
)
|
||||
-- Set the key mapping: 'q' to run the :QalcClose command in normal mode
|
||||
vim.keymap.set( -- Close Qalc
|
||||
'n',
|
||||
'q',
|
||||
':QalcClose<CR>',
|
||||
{ noremap = true, silent = true }
|
||||
)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Define a custom command to close the Qalc buffer
|
||||
vim.api.nvim_create_user_command('QalcClose', function()
|
||||
local buf_name = vim.api.nvim_buf_get_name(0)
|
||||
if buf_name ~= '' then
|
||||
vim.cmd('bd!')
|
||||
else
|
||||
-- If the buffer has no name, just remove it without invoking :bd!
|
||||
vim.api.nvim_buf_delete(0, { force = true })
|
||||
end
|
||||
end, { bang = true })
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━ Set up highlights ━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
local load_highlight = require('utils.highlight')
|
||||
load_highlight.setup_autocommands()
|
||||
load_highlight.setup_dashboard_highlight()
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━ Set up cpp picker ━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Adds a keymap for quicker picking when in cpp files
|
||||
require('data.autocmd').cpp_picker()
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━ Set up nvim_exec ━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Function to check and execute the NVIM_EXEC environment variable
|
||||
local function execute_nvim_exec()
|
||||
local exec_command = os.getenv('NVIM_EXEC')
|
||||
|
||||
-- If NVIM_EXEC is set, execute the command
|
||||
if exec_command then
|
||||
vim.cmd(exec_command)
|
||||
end
|
||||
end
|
||||
|
||||
-- Define an autogroup for the NvimExec autocmd
|
||||
autogrp('NvimExec', { clear = true })
|
||||
-- Define an autocmd to run the function at startup
|
||||
autocmd('VimEnter', {
|
||||
group = 'NvimExec',
|
||||
callback = execute_nvim_exec,
|
||||
})
|
||||
|
||||
-- Create an autogroup for managing command-line abbreviations
|
||||
local abbrev_group = autogrp('LazyAbbreviationGroup', { clear = true })
|
||||
-- Create an autocmd for unwrapping the 'lazy' abbreviation
|
||||
autocmd('CmdlineEnter', {
|
||||
group = abbrev_group,
|
||||
callback = function()
|
||||
vim.cmd([[
|
||||
cnoreabbrev <expr> lazy ((getcmdtype() == ':' && getcmdline() == 'lazy') ? 'Lazy' : 'lazy')
|
||||
]])
|
||||
end,
|
||||
})
|
||||
|
||||
-- change line number based on mode:
|
||||
-- for command mode: make it absolute for ranges etc
|
||||
-- for normal mode: relative movements <3
|
||||
local cmdline_group = vim.api.nvim_create_augroup('CmdlineLinenr', {})
|
||||
-- debounce cmdline enter events to make sure we dont have flickering for non user cmdline use
|
||||
-- e.g. mappings using : instead of <cmd>
|
||||
local cmdline_debounce_timer
|
||||
|
||||
autocmd('CmdlineEnter', {
|
||||
group = cmdline_group,
|
||||
callback = function()
|
||||
cmdline_debounce_timer = vim.uv.new_timer()
|
||||
cmdline_debounce_timer:start(
|
||||
100,
|
||||
0,
|
||||
vim.schedule_wrap(function()
|
||||
if vim.o.number then
|
||||
vim.o.relativenumber = false
|
||||
vim.api.nvim__redraw({ statuscolumn = true })
|
||||
end
|
||||
end)
|
||||
)
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd('CmdlineLeave', {
|
||||
group = cmdline_group,
|
||||
callback = function()
|
||||
if cmdline_debounce_timer then
|
||||
cmdline_debounce_timer:stop()
|
||||
cmdline_debounce_timer = nil
|
||||
end
|
||||
if vim.o.number then
|
||||
vim.o.relativenumber = true
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
autogrp('RootyCustomEvent', { clear = true })
|
||||
autocmd({ 'BufReadPost', 'BufNewFile' }, {
|
||||
group = 'RootyCustomEvent',
|
||||
callback = function(args)
|
||||
local ignored_filetypes = require('data.types').general.ft
|
||||
local ft = vim.bo[args.buf].filetype
|
||||
|
||||
if not vim.tbl_contains(ignored_filetypes, ft) then
|
||||
vim.api.nvim_exec_autocmds('User', { pattern = 'LazyFileOpen' })
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Don't comment next line when using `o`
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = '*',
|
||||
callback = function()
|
||||
vim.opt_local.formatoptions:remove({ 'o' })
|
||||
end,
|
||||
})
|
||||
|
||||
-- Run async commands with output to split
|
||||
vim.api.nvim_create_user_command('RunAsync', function(async_opts)
|
||||
-- Save current buffer first
|
||||
vim.cmd('w')
|
||||
|
||||
-- Construct the full command
|
||||
local cmd = table.concat(async_opts.fargs, ' ')
|
||||
|
||||
-- Open a horizontal split with the terminal running the command
|
||||
vim.cmd('belowright split | terminal ' .. cmd)
|
||||
|
||||
-- Optional: return focus to original window
|
||||
vim.cmd('wincmd p')
|
||||
end, {
|
||||
nargs = '+', -- Require at least one argument
|
||||
})
|
||||
@@ -1,13 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Early interventions │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- Execute project-specific configuration if it exists
|
||||
local project_config = vim.fn.getcwd() .. '/.nvim.lua'
|
||||
if vim.fn.filereadable(project_config) == 1 then
|
||||
dofile(project_config)
|
||||
end
|
||||
|
||||
-- Address vim.hl bug impacting `:Inspect` command
|
||||
---@see https://github.com/neovim/neovim/issues/31675
|
||||
vim.hl = vim.highlight
|
||||
@@ -1,65 +0,0 @@
|
||||
--- @module "config.keymaps"
|
||||
--- This module defines the keymapping operations for the Neovim configuration.
|
||||
--- The actual keybindings are defined in lua/data/keys.lua
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Keybinds │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- All keybinds are defined in lua/data/keys.lua
|
||||
-- This allows both plugin and general keybinds to
|
||||
-- be defined in a single central location
|
||||
|
||||
-- Add keymapper function
|
||||
local add_keymap = require('data.func').add_keymap
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Group Keybinds ━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for menu groups
|
||||
for _, item in ipairs(require('data.keys').groups) do
|
||||
add_keymap(item)
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━ General Keybinds ━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for miscellaneous keybinds
|
||||
for _, item in ipairs(require('data.keys').misc) do
|
||||
add_keymap(item)
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━ Telescope Keybinds ━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for telescope symbols
|
||||
for _, item in ipairs(require('data.keys').telescope.symbols) do
|
||||
add_keymap(item)
|
||||
end
|
||||
|
||||
if require('data.cond').use_splits() then
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Resizing splits ━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for resizing splits
|
||||
for _, map in ipairs(require('data.keys').splits.resize) do
|
||||
add_keymap(map[1], map[2], map[3], require('data.types').all_modes)
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━ Moving between splits ━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for moving between splits
|
||||
for _, map in ipairs(require('data.keys').splits.move) do
|
||||
add_keymap(map[1], map[2], map[3], require('data.types').all_modes)
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━ Swapping buffers between windows ━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for swapping buffers
|
||||
for _, map in ipairs(require('data.keys').splits.swap) do
|
||||
add_keymap(map[1], map[2], map[3], require('data.types').all_modes)
|
||||
end
|
||||
end
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ MultiCursor ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Add keymaps for multicursor
|
||||
for _, item in ipairs(require('data.keys').multicursor) do
|
||||
add_keymap(item)
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Terminal ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Snacks Terminal
|
||||
for _, item in ipairs(require('data.keys').snacksterm) do
|
||||
add_keymap(item)
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Overrides ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
require('config.overrides')
|
||||
@@ -1,112 +0,0 @@
|
||||
---@module "config.lazy"
|
||||
--- This module bootstraps Lazy.nvim.
|
||||
--- Lazy is a plugin manager for Neovim.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Lazy │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
|
||||
if not vim.uv.fs_stat(lazypath) then
|
||||
-- stylua: ignore
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", lazypath
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PLUGINS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
local plugin_specs = {
|
||||
{ -- LazyVim
|
||||
'LazyVim/LazyVim',
|
||||
-- dev = true,
|
||||
priority = 900,
|
||||
opts = require('data.types').lazyvim.opts,
|
||||
},
|
||||
{
|
||||
import = 'lazyvim.plugins', -- LazyVim Core Plugins
|
||||
},
|
||||
{ -- VSCode
|
||||
import = 'lazyvim.plugins.extras.vscode',
|
||||
},
|
||||
{ import = 'lvplugs' }, -- LazyVim Plugins
|
||||
{ import = 'plugins' }, -- General Plugins
|
||||
}
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━ Lazy Configuration ━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
local lazy_spec = {
|
||||
spec = plugin_specs,
|
||||
rocks = {
|
||||
hererocks = vim.g.use_luarocks,
|
||||
},
|
||||
---@diagnostic disable-next-line: assign-type-mismatch
|
||||
dev = {
|
||||
fallback = true,
|
||||
},
|
||||
install = {
|
||||
missing = true,
|
||||
colorscheme = {
|
||||
-- 'ex-catppuccin-mocha',
|
||||
'catppuccin-mocha',
|
||||
'tokyonight',
|
||||
'default',
|
||||
},
|
||||
},
|
||||
defaults = {
|
||||
lazy = true,
|
||||
version = nil,
|
||||
event = 'VeryLazy',
|
||||
},
|
||||
checker = {
|
||||
-- automatically check for plugin updates
|
||||
enabled = true,
|
||||
notify = true,
|
||||
frequency = 3600,
|
||||
check_pinned = false,
|
||||
},
|
||||
change_detection = {
|
||||
-- automatically check for config file changes and reload the ui
|
||||
enabled = true,
|
||||
notify = false,
|
||||
},
|
||||
performance = {
|
||||
cache = {
|
||||
enabled = true,
|
||||
},
|
||||
reset_packpath = true,
|
||||
rtp = {
|
||||
reset = true, -- reset the runtime path to $VIMRUNTIME and your config directory
|
||||
disabled_plugins = require('data.types').lazy.disabled_plugins,
|
||||
},
|
||||
},
|
||||
profiling = {
|
||||
loader = true,
|
||||
require = true,
|
||||
},
|
||||
ui = {
|
||||
border = 'rounded',
|
||||
title = ' Plugin Manager ',
|
||||
},
|
||||
}
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Import Plugins ━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Automatically import all subdirectories of `lua/plugins`
|
||||
local plugin_dirs = vim.fn.glob('~/.config/nvim/lua/plugins/*', true, true)
|
||||
for _, dir in ipairs(plugin_dirs) do
|
||||
if vim.fn.isdirectory(dir) == 1 then
|
||||
table.insert( -- Add directory to the plugin import table
|
||||
plugin_specs,
|
||||
{ import = 'plugins.' .. vim.fn.fnamemodify(dir, ':t') }
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Setup Lazy ━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Initialize Lazy plugin manager
|
||||
require('lazy').setup(lazy_spec)
|
||||
@@ -1,196 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Setup Git Signs for Mini.Files │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local nsMiniFiles = vim.api.nvim_create_namespace('mini_files_git')
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
local _, MiniFiles = pcall(require, 'mini.files')
|
||||
|
||||
-- Cache for git status
|
||||
local gitStatusCache = {}
|
||||
local cacheTimeout = 2000 -- Cache timeout in milliseconds
|
||||
|
||||
---@type table<string, {symbol: string, hlGroup: string}>
|
||||
---@param status string
|
||||
---@return string symbol, string hlGroup
|
||||
local function mapSymbols(status)
|
||||
local statusMap = {
|
||||
-- stylua: ignore start
|
||||
[" M"] = { symbol = "•", hlGroup = "GitSignsChange"}, -- Modified in the working directory
|
||||
["M "] = { symbol = "✹", hlGroup = "GitSignsChange"}, -- modified in index
|
||||
["MM"] = { symbol = "≠", hlGroup = "GitSignsChange"}, -- modified in both working tree and index
|
||||
["A "] = { symbol = "+", hlGroup = "GitSignsAdd" }, -- Added to the staging area, new file
|
||||
["AA"] = { symbol = "≈", hlGroup = "GitSignsAdd" }, -- file is added in both working tree and index
|
||||
["D "] = { symbol = "-", hlGroup = "GitSignsDelete"}, -- Deleted from the staging area
|
||||
["AM"] = { symbol = "⊕", hlGroup = "GitSignsChange"}, -- added in working tree, modified in index
|
||||
["AD"] = { symbol = "-•", hlGroup = "GitSignsChange"}, -- Added in the index and deleted in the working directory
|
||||
["R "] = { symbol = "→", hlGroup = "GitSignsChange"}, -- Renamed in the index
|
||||
["U "] = { symbol = "‖", hlGroup = "GitSignsChange"}, -- Unmerged path
|
||||
["UU"] = { symbol = "⇄", hlGroup = "GitSignsAdd" }, -- file is unmerged
|
||||
["UA"] = { symbol = "⊕", hlGroup = "GitSignsAdd" }, -- file is unmerged and added in working tree
|
||||
["??"] = { symbol = "?", hlGroup = "GitSignsDelete"}, -- Untracked files
|
||||
["!!"] = { symbol = "!", hlGroup = "GitSignsChange"}, -- Ignored files
|
||||
-- stylua: ignore end
|
||||
}
|
||||
|
||||
local result = statusMap[status] or { symbol = '?', hlGroup = 'NonText' }
|
||||
return result.symbol, result.hlGroup
|
||||
end
|
||||
|
||||
---@param cwd string
|
||||
---@param callback function
|
||||
---@return nil
|
||||
local function fetchGitStatus(cwd, callback)
|
||||
local function on_exit(content)
|
||||
if content.code == 0 then
|
||||
callback(content.stdout)
|
||||
vim.g.content = content.stdout
|
||||
end
|
||||
end
|
||||
vim.system(
|
||||
{ 'git', 'status', '--ignored', '--porcelain' },
|
||||
{ text = true, cwd = cwd },
|
||||
on_exit
|
||||
)
|
||||
end
|
||||
|
||||
---@param str string?
|
||||
local function escapePattern(str)
|
||||
---@diagnostic disable-next-line: need-check-nil
|
||||
return str:gsub('([%^%$%(%)%%%.%[%]%*%+%-%?])', '%%%1')
|
||||
end
|
||||
|
||||
---@param buf_id integer
|
||||
---@param gitStatusMap table
|
||||
---@return nil
|
||||
local function updateMiniWithGit(buf_id, gitStatusMap)
|
||||
vim.schedule(function()
|
||||
local nlines = vim.api.nvim_buf_line_count(buf_id)
|
||||
local cwd = vim.fs.root(buf_id, '.git')
|
||||
local escapedcwd = escapePattern(cwd)
|
||||
if vim.fn.has('win32') == 1 then
|
||||
escapedcwd = escapedcwd:gsub('\\', '/')
|
||||
end
|
||||
|
||||
for i = 1, nlines do
|
||||
local entry = MiniFiles.get_fs_entry(buf_id, i)
|
||||
if not entry then
|
||||
break
|
||||
end
|
||||
local relativePath = entry.path:gsub('^' .. escapedcwd .. '/', '')
|
||||
local status = gitStatusMap[relativePath]
|
||||
|
||||
if status then
|
||||
local symbol, hlGroup = mapSymbols(status)
|
||||
vim.api.nvim_buf_set_extmark(buf_id, nsMiniFiles, i - 1, 0, {
|
||||
sign_text = symbol,
|
||||
sign_hl_group = hlGroup,
|
||||
priority = 2,
|
||||
})
|
||||
else
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
-- Thanks for the idea of gettings https://github.com/refractalize/oil-git-status.nvim signs for dirs
|
||||
---@param content string
|
||||
---@return table
|
||||
local function parseGitStatus(content)
|
||||
local gitStatusMap = {}
|
||||
-- lua match is faster than vim.split (in my experience )
|
||||
for line in content:gmatch('[^\r\n]+') do
|
||||
local status, filePath = string.match(line, '^(..)%s+(.*)')
|
||||
-- Split the file path into parts
|
||||
local parts = {}
|
||||
for part in filePath:gmatch('[^/]+') do
|
||||
table.insert(parts, part)
|
||||
end
|
||||
-- Start with the root directory
|
||||
local currentKey = ''
|
||||
for i, part in ipairs(parts) do
|
||||
if i > 1 then
|
||||
-- Concatenate parts with a separator to create a unique key
|
||||
currentKey = currentKey .. '/' .. part
|
||||
else
|
||||
currentKey = part
|
||||
end
|
||||
-- If it's the last part, it's a file, so add it with its status
|
||||
if i == #parts then
|
||||
gitStatusMap[currentKey] = status
|
||||
else
|
||||
-- If it's not the last part, it's a directory. Check if it exists, if not, add it.
|
||||
if not gitStatusMap[currentKey] then
|
||||
gitStatusMap[currentKey] = status
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return gitStatusMap
|
||||
end
|
||||
|
||||
---@param buf_id integer
|
||||
---@return nil
|
||||
local function updateGitStatus(buf_id)
|
||||
---@diagnostic disable-next-line: param-type-mismatch
|
||||
if not vim.fs.root(vim.uv.cwd(), '.git') then
|
||||
return
|
||||
end
|
||||
|
||||
local cwd = vim.fn.expand('%:p:h')
|
||||
local currentTime = os.time()
|
||||
if
|
||||
gitStatusCache[cwd]
|
||||
and currentTime - gitStatusCache[cwd].time < cacheTimeout
|
||||
then
|
||||
updateMiniWithGit(buf_id, gitStatusCache[cwd].statusMap)
|
||||
else
|
||||
fetchGitStatus(cwd, function(content)
|
||||
local gitStatusMap = parseGitStatus(content)
|
||||
gitStatusCache[cwd] = {
|
||||
time = currentTime,
|
||||
statusMap = gitStatusMap,
|
||||
}
|
||||
updateMiniWithGit(buf_id, gitStatusMap)
|
||||
end)
|
||||
end
|
||||
end
|
||||
|
||||
---@return nil
|
||||
local function clearCache()
|
||||
gitStatusCache = {}
|
||||
end
|
||||
|
||||
local function augroup(name)
|
||||
return vim.api.nvim_create_augroup('MiniFiles_' .. name, { clear = true })
|
||||
end
|
||||
|
||||
autocmd('User', {
|
||||
group = augroup('start'),
|
||||
pattern = 'MiniFilesExplorerOpen',
|
||||
-- pattern = { "minifiles" },
|
||||
callback = function()
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
updateGitStatus(bufnr)
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd('User', {
|
||||
group = augroup('close'),
|
||||
pattern = 'MiniFilesExplorerClose',
|
||||
callback = function()
|
||||
clearCache()
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd('User', {
|
||||
group = augroup('update'),
|
||||
pattern = 'MiniFilesBufferUpdate',
|
||||
callback = function(sii)
|
||||
local bufnr = sii.data.buf_id
|
||||
local cwd = vim.fn.expand('%:p:h')
|
||||
if gitStatusCache[cwd] then
|
||||
updateMiniWithGit(bufnr, gitStatusCache[cwd].statusMap)
|
||||
end
|
||||
end,
|
||||
})
|
||||
@@ -1,64 +0,0 @@
|
||||
--- @module "config.neovide"
|
||||
--- This module defines the neovide options for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Neovide │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- Set GUI font
|
||||
vim.opt.guifont = 'Iosevka Rootiest V2:#e-subpixelantialias:h12'
|
||||
-- refresh rate and translucency
|
||||
vim.g.neovide_refresh_rate = 120
|
||||
vim.g.neovide_opacity = 0.85
|
||||
vim.g.neovide_window_blurred = true
|
||||
vim.g.neovide_floating_blur_amount_x = 2.0
|
||||
vim.g.neovide_floating_blur_amount_y = 2.0
|
||||
-- cursor fx
|
||||
vim.g.neovide_cursor_vfx_mode = 'pixiedust'
|
||||
vim.g.neovide_cursor_smooth_blink = true
|
||||
vim.g.neovide_cursor_vfx_particle_density = 16.8
|
||||
vim.g.neovide_cursor_vfx_particle_lifetime = 2.2
|
||||
vim.g.neovide_cursor_vfx_particle_phase = 1.2
|
||||
vim.g.neovide_cursor_vfx_particle_curl = 1.0
|
||||
vim.g.neovide_cursor_animation_length = 0.08
|
||||
vim.g.neovide_cursor_trail_size = 0.8
|
||||
-- floating shadow
|
||||
vim.g.neovide_floating_shadow = true
|
||||
vim.g.neovide_floating_z_height = 10
|
||||
vim.g.neovide_light_angle_degrees = 45
|
||||
vim.g.neovide_light_radius = 3
|
||||
vim.g.neovide_floating_blur_amount_x = 1.0
|
||||
vim.g.neovide_floating_blur_amount_y = 1.0
|
||||
vim.g.neovide_floating_corner_radius = 0.50
|
||||
-- scaling
|
||||
vim.g.neovide_scale_factor = 1.0
|
||||
-- padding
|
||||
vim.g.neovide_padding_top = 0
|
||||
vim.g.neovide_padding_bottom = 0
|
||||
vim.g.neovide_padding_right = 0
|
||||
vim.g.neovide_padding_left = 0
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━ Clipboard mappings ━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
local modes = { 'n', 'v', 'c', 'i' }
|
||||
|
||||
-- System clipboard mappings
|
||||
for _, mode in ipairs(modes) do
|
||||
if mode == 'c' or mode == 'i' then
|
||||
vim.keymap.set(mode, '<C-v>', '<C-r>+', { silent = true })
|
||||
vim.keymap.set(mode, '<C-c>', '<C-r>+', { silent = true })
|
||||
else
|
||||
vim.keymap.set(mode, '<C-v>', ':r !xsel -b<CR>', { silent = true })
|
||||
vim.keymap.set(mode, '<C-c>', ':w !xsel -i -b<CR>', { silent = true })
|
||||
end
|
||||
end
|
||||
|
||||
-- Wezterm-style clipboard mappings (Control-Shift)
|
||||
for _, mode in ipairs(modes) do
|
||||
if mode == 'c' or mode == 'i' then
|
||||
vim.keymap.set(mode, '<C-S-v>', '<C-r>+', { silent = true })
|
||||
vim.keymap.set(mode, '<C-S-c>', '<C-r>+', { silent = true })
|
||||
else
|
||||
vim.keymap.set(mode, '<C-S-v>', ':r !xsel -b<CR>', { silent = true })
|
||||
vim.keymap.set(mode, '<C-S-c>', ':w !xsel -i -b<CR>', { silent = true })
|
||||
end
|
||||
end
|
||||
@@ -1,17 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Neovim Updater Debug Functions │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local D = {}
|
||||
|
||||
-- local P = require("nvim_updater")
|
||||
local U = require('nvim_updater.utils')
|
||||
|
||||
function D.test_floating_window()
|
||||
local output = U.run_hidden_command(
|
||||
"cd ~/.local/src/neovim && git --no-pager log --pretty=format:'%s' HEAD..origin/master"
|
||||
)
|
||||
U.draw_floating_window(output)
|
||||
end
|
||||
|
||||
return D
|
||||
@@ -1,257 +0,0 @@
|
||||
--- @module "config.options"
|
||||
--- This module defines the user options for the Neovim configuration.
|
||||
--- Variables defined here set configuration options for the rest
|
||||
--- of the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Options │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ KEYS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
vim.opt.foldlevel = 99
|
||||
|
||||
-- Set the mapleader variable to the space key
|
||||
vim.g.mapleader = " " ---@type string Options: <leader>
|
||||
|
||||
-- Set the maplocalleader variable to the space key
|
||||
vim.g.maplocalleader = "\\" ---@type string Options: <localleader>
|
||||
-- Set the timeout length for key combinations
|
||||
vim.g.timeoutlen = 1000 ---@type integer Options: <ms>
|
||||
-- Allow horizontal motion keys to wrap to next line at start/end of line
|
||||
vim.opt.whichwrap:append("h,l,<,>,[,]")
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LSP ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- We don't need perl
|
||||
vim.g.loaded_perl_provider = 0 ---@type integer Options: <0|1>
|
||||
-- or ruby
|
||||
vim.g.loaded_ruby_provider = 0 ---@type integer Options: <0|1>
|
||||
-- Prefer basedpyright for python
|
||||
vim.g.lazyvim_python_lsp = "pyright" ---@type string Options: [python lsp]
|
||||
-- Use tiny-inline-diagnostic
|
||||
vim.g.usetinyinline = true ---@type boolean Options: <true|false>
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GIT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Github username for dashboard and other customizations
|
||||
vim.g.gitname = 'rootiest' ---@type string Options: <github username>
|
||||
-- Show GitHub Contributions on dashboard
|
||||
vim.g.show_github_contrib = true ---@type boolean Options: <true|false>
|
||||
-- Highlight lines with git changes
|
||||
vim.g.git_line_hl = false ---@type boolean Options: <true|false>
|
||||
-- Highlight words with git changes
|
||||
vim.g.git_word_hl = false ---@type boolean Options: <true|false>
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━ FORMAT AND SAVE ━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
vim.opt.foldlevel = 99 ---@type integer Options: <0-99>
|
||||
-- Auto-format
|
||||
vim.g.autoformat = true ---@type boolean Options: <true|false>
|
||||
-- Auto-save
|
||||
vim.g.autosave = true ---@type boolean Options: <true|false>
|
||||
-- Enable encouraging feedback
|
||||
vim.g.encourage_me = true ---@type boolean Options: <true|false>
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ MISCELLANEOUS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Use WakaTime for code stats
|
||||
vim.g.usewakatime = true ---@type boolean Options: <true|false>
|
||||
-- Allow music controls and stats
|
||||
vim.g.usemusic = false ---@type boolean Options: <true|false>
|
||||
-- Allow discord presence
|
||||
vim.g.usediscord = true ---@type boolean Options: <true|false>
|
||||
-- Enable HardTime on startup
|
||||
vim.g.usehardtime = false ---@type boolean Options: <true|false>
|
||||
-- Enable Image plugin on compatible terminals
|
||||
vim.g.useimage = true ---@type boolean Options: <true|false>
|
||||
-- Enable LazyGit plugin
|
||||
vim.g.uselazygit = true ---@type boolean Options: <true|false>
|
||||
-- Ignore missing lazy.nvim plugin manager
|
||||
vim.g.ignore_no_lazy = false ---@type boolean Options: <true|false>
|
||||
-- Enable codesnap for code screenshots
|
||||
vim.g.codesnap = true ---@type boolean Options: <true|false>
|
||||
-- Enable Auto-hiding cursorline
|
||||
vim.g.auto_cursorline = false ---@type boolean Options: <true|false>
|
||||
-- Toggle cursorline (when not auto)
|
||||
vim.o.cursorline = false ---@type boolean Options: <true|false>
|
||||
-- Enable Smart Scrolloff
|
||||
vim.g.smart_scrolloff = false ---@type boolean Options: <true|false>
|
||||
-- Enable Dead Column
|
||||
vim.g.dead_column = false ---@type boolean Options: <true|false>
|
||||
-- Animate blinky cursor
|
||||
vim.g.blinky = true ---@type boolean Options: <true|false>
|
||||
-- Enable todo-comments features
|
||||
vim.g.usetodo = true ---@type boolean Options: <true|false>
|
||||
-- Use Floating help window
|
||||
vim.g.usefloatinghelp = false ---@type boolean Options: <true|false>
|
||||
-- Use dev mode for rootiest plugins
|
||||
vim.g.rootiest_dev = true ---@type boolean Options: <true|false>
|
||||
-- Enable luarocks package manager
|
||||
vim.g.use_luarocks = false ---@type boolean Options: <true|false>
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PICKER ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Select default fallback picker
|
||||
vim.g.lazyvim_picker = "auto" ---@type string Options: [picker]
|
||||
-- ╭───────────────────────────╮ auto
|
||||
-- │ │ telescope
|
||||
-- │ Pickers: │ fzf
|
||||
-- │ Choose a picker │
|
||||
-- │ from the list │
|
||||
-- │ │
|
||||
-- ╰───────────────────────────╯
|
||||
|
||||
-- Use snacks picker by default
|
||||
vim.g.use_snacks_picker = true ---@type boolean Options: <true|false>
|
||||
-- Use the Telescope plugin
|
||||
vim.g.use_telescope = false ---@type boolean Options: <true|false>
|
||||
-- Use the Fzf plugin
|
||||
vim.g.use_fzf_lua = false ---@type boolean Options: <true|false>
|
||||
-- Use oil file manager
|
||||
vim.g.useoil = false ---@type boolean Options: <true|false>
|
||||
-- Use NeoTree file manager
|
||||
vim.g.useneotree = false ---@type boolean Options: <true|false>
|
||||
-- Use Yazy file manager
|
||||
vim.g.useyazi = true ---@type boolean Options: <true|false>
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ AI TOOL ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Configure the AI completion provider
|
||||
vim.g.aitool = "copilot" ---@type string Options: [ai tool]
|
||||
-- ╭───────────────────────────╮ neocodeium
|
||||
-- │ │ codeium
|
||||
-- │ AI Tools: │ copilot
|
||||
-- │ Choose an AI provider │ tabnine
|
||||
-- │ from the list │ minuet
|
||||
-- │ │ ollama
|
||||
-- ╰───────────────────────────╯ none
|
||||
-- Enable ChatGPT plugin for AI chat
|
||||
vim.g.usechatgpt = false ---@type boolean Options: <true|false>
|
||||
-- Enable Avante plugin for AI chat
|
||||
vim.g.useavante = false ---@type boolean Options: <true|false>
|
||||
-- Enable Code-Companion plugin for AI chat
|
||||
vim.g.usecodecomp = true ---@type boolean Options: <true|false>
|
||||
-- Enable GP plugin for AI chat
|
||||
vim.g.usegpai = false ---@type boolean Options: <true|false>
|
||||
|
||||
-- Use Blink instead of nvim-cmp
|
||||
vim.g.useblinkcmp = true ---@type boolean Options: <true|false>
|
||||
-- Use experimental performance fork
|
||||
vim.g.cmp_performance_enabled = false ---@type boolean Options: <true|false>
|
||||
-- When using cmp_performance_enabled with blink, blink will follow main branch
|
||||
-- Requires a working rust toolchain
|
||||
---@see vim.g.lazyvim_blink_main
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STATUS COLUMN ━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
vim.g.statuscolumn = "snacks" ---@type string Options: [statuscolumn]
|
||||
-- ╭───────────────────────────╮ barsNlines
|
||||
-- │ │ snacks
|
||||
-- │ Status Columns: │ native
|
||||
-- │ Choose a plugin from │
|
||||
-- │ the list │
|
||||
-- │ │
|
||||
-- ╰───────────────────────────╯
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BUFFER LINE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
vim.g.tabline = "none" ---@type string Options: [tabline]
|
||||
-- ╭───────────────────────────╮ bufferline
|
||||
-- │ │ barsNlines
|
||||
-- │ Tab Lines: │ none
|
||||
-- │ Choose a plugin from │
|
||||
-- │ the list │
|
||||
-- │ │
|
||||
-- ╰───────────────────────────╯
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ DASHBOARD ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
vim.g.dashboard = "snacks" ---@type string Options: [dashboard]
|
||||
-- ╭───────────────────────────╮ alpha
|
||||
-- │ │ nvim-dashboard
|
||||
-- │ Dashboards: │ snacks
|
||||
-- │ Choose a plugin from │ none
|
||||
-- │ the list │
|
||||
-- │ │
|
||||
-- ╰───────────────────────────╯
|
||||
|
||||
-- Dashboard logo file
|
||||
vim.g.dash_logo = "mini.txt" ---@type string Options: [dash logo]
|
||||
-- Dashboard header color
|
||||
vim.g.DashboardHeaderColor = "#88fc9a" ---@type string Options: [hex color]
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STATUS LINE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
vim.g.statusline = "lualine" ---@type string Options: [statusline]
|
||||
-- ╭───────────────────────────╮ lualine
|
||||
-- │ │ heirline
|
||||
-- │ Status Lines: │ barsNlines
|
||||
-- │ Choose a plugin from │ basic
|
||||
-- │ the list │ none
|
||||
-- │ │
|
||||
-- ╰───────────────────────────╯
|
||||
|
||||
-- Click git components on statusline to open LazyGit
|
||||
vim.g.statusline_clickable_git = true ---@type boolean Options: <true|false>
|
||||
-- Show wakatime stats on statusline
|
||||
vim.g.stats_wakatime = false ---@type boolean Options: <true|false>
|
||||
-- Show music stats on statusline
|
||||
vim.g.stats_music = true ---@type boolean Options: <true|false>
|
||||
-- Ignored player sources for music stats
|
||||
vim.g.stats_ignored_players = { ---@type string[] Options: [ignored players]
|
||||
"chromium",
|
||||
"firefox",
|
||||
"kdeconnect",
|
||||
"haruna",
|
||||
"plasma-browser-integration",
|
||||
"plasma-browser-integration-76042",
|
||||
}
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ COLOR ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Background color
|
||||
vim.o.background = "dark" ---@type string Options: <dark|light>
|
||||
-- Disable Transparency
|
||||
vim.g.disable_transparency = true ---@type boolean Options: <true|false>
|
||||
-- Auto Dark-mode
|
||||
vim.g.autodarkmode = false ---@type boolean Options: <true|false>
|
||||
-- Set colorcolumn
|
||||
--vim.opt.colorcolumn = "120" ---@type string|table Options: [column]
|
||||
--Use Astral colorscheme management
|
||||
vim.g.use_astral = false ---@type boolean Options: <true|false>
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━ TABS AND INDENTATION ━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Define characters for tabs, indents, and scopes
|
||||
-- Option [2] will override [1] if both are defined
|
||||
|
||||
-- ──────────────── [1] Choose a preset character ──────────────────
|
||||
-- Specify a character/table from the presets
|
||||
-- See: data.types.ibl.char for a list of available characters
|
||||
-- This option can provide multi-character cycling configurations
|
||||
-- Tab characters
|
||||
vim.g.tab_char_name = "none" ---@type string Options: [tab char]
|
||||
-- Indent characters
|
||||
vim.g.indent_char_name = "none" ---@type string Options: [indent char]
|
||||
-- Scope characters
|
||||
vim.g.scope_char_name = "scope" ---@type string Options: [scope char]
|
||||
|
||||
-- ──────────────── [2] Choose a specific character ────────────────
|
||||
-- Define a character to be used in the whitespace to represent tabs/indents
|
||||
-- This option allows use of any single character string
|
||||
-- Multi-character cycling configurations are not possible with this option
|
||||
-- Multi-character strings are not possible with any of the options
|
||||
-- Tab character
|
||||
vim.g.tab_char = " " ---@type string Options: [tab char]
|
||||
-- -- Indent character
|
||||
vim.g.indent_char = " " ---@type string Options: [indent char]
|
||||
-- Scope character
|
||||
vim.g.scope_char = "│" ---@type string Options: [scope char]
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Completion ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Cmp Window Border
|
||||
vim.g.completion_borders = "rounded" ---@type string Options: [round|sharp|flat]
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Execute post-opts functions
|
||||
require("config.postopts")
|
||||
@@ -1,182 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Overrides │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━ Keymap Overrides ━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Add keymapper function
|
||||
local add_keymap = require('data.func').add_keymap
|
||||
|
||||
-- Add keymaps for overrides
|
||||
add_keymap(require('data.keys').overrides)
|
||||
|
||||
-- Replace '...' with '…' (ellipsis) on InsertLeave
|
||||
require('data.func').setup_replace_ellipsis(true)
|
||||
|
||||
-- Search selected text in visual mode
|
||||
add_keymap('/', '*<Esc>', 'Search selected text', 'v')
|
||||
|
||||
-- Use modern cipher instead of rot13
|
||||
add_keymap(require('data.keys').cipher.hex)
|
||||
|
||||
-- Help keybinds
|
||||
for _, item in ipairs(require('data.keys').help) do
|
||||
add_keymap(item)
|
||||
end
|
||||
|
||||
-- Remap Command Mode List
|
||||
require('data.keys').cmd_mode()
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━ Additional Overrides ━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
-- Disable NeoMiniMap in Termux
|
||||
if vim.g.is_termux then
|
||||
if require('data.func').is_installed('neominimap') then
|
||||
-- Disable NeoMiniMap
|
||||
vim.cmd('Neominimap off')
|
||||
end
|
||||
end
|
||||
|
||||
-- Allow directional motions to wrap to next line
|
||||
-- vim.cmd('set whichwrap+=h,l')
|
||||
|
||||
-- Stop snippet when leaving insert mode
|
||||
vim.keymap.set({ 'i', 's' }, '<Esc>', function()
|
||||
vim.snippet.stop()
|
||||
return '<Esc>'
|
||||
end, { expr = true, desc = 'Close snippet session' })
|
||||
|
||||
-- Swap the behavior of 'p' and 'P' while preserving plugin-defined behaviors
|
||||
local opts = { noremap = false, silent = true, remap = true }
|
||||
|
||||
vim.keymap.set('n', 'p', 'P', opts)
|
||||
vim.keymap.set('n', 'P', 'p', opts)
|
||||
vim.keymap.set('n', 'q:', function()
|
||||
Pick('command_history')
|
||||
end, opts)
|
||||
|
||||
vim.api.nvim_create_user_command('LspListClients', function()
|
||||
local clients =
|
||||
vim.lsp.get_clients({ bufnr = vim.api.nvim_get_current_buf() })
|
||||
if #clients == 0 then
|
||||
print('No LSP attached')
|
||||
else
|
||||
local names = {}
|
||||
for _, client in ipairs(clients) do
|
||||
table.insert(names, client.name)
|
||||
end
|
||||
print('Attached LSP(s): ' .. table.concat(names, ', '))
|
||||
end
|
||||
end, {})
|
||||
|
||||
-- Statuscolumn Tweaks
|
||||
require('config.statuscolumn')
|
||||
|
||||
-- Macro recording cursor color
|
||||
local api = vim.api
|
||||
-- Store current cursor color
|
||||
local current_cursor_color = api.nvim_get_hl(0, { name = 'Cursor' }).bg
|
||||
|
||||
api.nvim_create_autocmd('RecordingEnter', {
|
||||
callback = function()
|
||||
api.nvim_set_hl(0, 'Cursor', { bg = '#ff5080' })
|
||||
end,
|
||||
})
|
||||
|
||||
api.nvim_create_autocmd('RecordingLeave', {
|
||||
callback = function()
|
||||
api.nvim_set_hl(0, 'Cursor', { bg = current_cursor_color })
|
||||
end,
|
||||
})
|
||||
|
||||
-- Remap 'q' to 'Q' to reduce accidental macros
|
||||
if pcall(require, 'which-key') then
|
||||
require('which-key').add({
|
||||
lhs = 'q',
|
||||
rhs = '<nop>',
|
||||
mode = 'n',
|
||||
hidden = true,
|
||||
})
|
||||
else
|
||||
vim.keymap.set('n', 'q', '<nop>', { noremap = true })
|
||||
end
|
||||
vim.keymap.set('n', 'Q', 'q', { noremap = true, desc = 'Record macro' })
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<M-q>',
|
||||
'Q',
|
||||
{ noremap = true, desc = 'Replay last register' }
|
||||
)
|
||||
|
||||
-- Duplicate and comment lines
|
||||
vim.keymap.set('n', 'ycc', function()
|
||||
vim.cmd('normal! ' .. vim.v.count1 .. 'yy')
|
||||
vim.cmd('normal ' .. vim.v.count1 .. 'gcc')
|
||||
vim.cmd("normal! ']$p")
|
||||
end, { desc = 'Duplicate and comment lines' })
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
-- ╓─────────────────────────────────────────────────────────╖
|
||||
-- ║ Scroll half a screen with <C-d> and <C-u> ║
|
||||
-- ║ (with count and memory) ║
|
||||
-- ╙─────────────────────────────────────────────────────────╜
|
||||
local last_scroll_count = 1 -- Store the last used count
|
||||
|
||||
-- Define the ScrollDirection type
|
||||
---@alias ScrollDirection 'up'|'down'
|
||||
|
||||
--- Scroll half a screen up or down
|
||||
---@param direction ScrollDirection The direction to scroll in
|
||||
local function scroll(direction)
|
||||
-- Set the count to the provided count or the last used count
|
||||
local count = vim.v.count > 0 and vim.v.count or last_scroll_count
|
||||
-- Remember the count for next time
|
||||
last_scroll_count = count
|
||||
|
||||
-- To remove the memory feature, uncomment the following line
|
||||
-- count = vim.v.count > 0 and vim.v.count or 1 -- Use current count or default to 1
|
||||
|
||||
-- Calculate the number of lines in a half-screen
|
||||
local half_screen = math.floor(vim.api.nvim_win_get_height(0) / 2)
|
||||
-- Generate the key sequence
|
||||
local keys = count * half_screen .. (direction == 'down' and '\x04' or '\x15')
|
||||
|
||||
-- Execute the key sequence
|
||||
vim.api.nvim_feedkeys(
|
||||
vim.api.nvim_replace_termcodes(keys, true, false, true),
|
||||
'n',
|
||||
false
|
||||
)
|
||||
end
|
||||
|
||||
-- Map the scroll functions to <C-d> and <C-u>
|
||||
vim.keymap.set('n', '<C-d>', function()
|
||||
scroll('down')
|
||||
end, { silent = true })
|
||||
vim.keymap.set('n', '<C-u>', function()
|
||||
scroll('up')
|
||||
end, { silent = true })
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
-- Dump floating window info to file
|
||||
vim.keymap.set(
|
||||
'n',
|
||||
'<leader>fd',
|
||||
require('data.func').dump_floating_window_info,
|
||||
{ desc = 'Dump floating window info to file' }
|
||||
)
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
-- Obsidian Project Configuration:
|
||||
local function run_obsidian_config()
|
||||
-- Reduce conceallevel for Obsidian UI
|
||||
vim.o.conceallevel = 2
|
||||
vim.cmd('Neominimap off')
|
||||
end
|
||||
|
||||
vim.api.nvim_create_augroup('obsidian_config', { clear = true })
|
||||
vim.api.nvim_create_autocmd({ 'BufNewFile', 'BufRead', 'BufEnter' }, {
|
||||
group = 'obsidian_config',
|
||||
pattern = vim.fn.expand('~') .. '/vaults/Rootiest Notes/**',
|
||||
callback = run_obsidian_config,
|
||||
})
|
||||
---------------------------------------------------------------------------
|
||||
@@ -1,50 +0,0 @@
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━ Post-Config Functions ━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
--- Function to setup post-opts
|
||||
local function setup()
|
||||
-- Setup blinky cursor
|
||||
require('utils.blinky').setup(vim.g.blinky)
|
||||
|
||||
-- Setup nvim-remote
|
||||
if vim.fn.executable('nvr') == 1 then
|
||||
vim.env.GIT_EDITOR = "nvr -cc split --remote-wait +'set bufhidden=wipe'"
|
||||
end
|
||||
|
||||
-- Check for termux
|
||||
local prefix = vim.env.PREFIX
|
||||
|
||||
-- Check if prefix contains "com.termux"
|
||||
if prefix ~= nil then
|
||||
if prefix:match('com.termux') then
|
||||
vim.g.useimage = false
|
||||
vim.g.is_termux = true
|
||||
vim.g.useavante = false
|
||||
end
|
||||
end
|
||||
|
||||
-- Define intel_arch
|
||||
local intel_arch = { x64 = true, x86 = true }
|
||||
local cur_arch = require('data.func').get_system_arch()
|
||||
|
||||
-- Check the platform and disable incompatible plugins
|
||||
if not intel_arch[cur_arch] then
|
||||
vim.g.useimage = false
|
||||
vim.g.useavante = false
|
||||
end
|
||||
end
|
||||
|
||||
local function define_globals()
|
||||
-- Define Pick function
|
||||
Pick = require('data.func').pick
|
||||
|
||||
-- Define Pick command
|
||||
vim.api.nvim_create_user_command('Pick', function(opts)
|
||||
Pick(unpack(opts.fargs))
|
||||
end, { nargs = '*' })
|
||||
end
|
||||
|
||||
-- Run Setup function
|
||||
setup()
|
||||
|
||||
-- Define Global Functions
|
||||
define_globals()
|
||||
@@ -1,23 +0,0 @@
|
||||
--- @module "config.profiler"
|
||||
--- This module configures the profiler for the Neovim configuration.
|
||||
--- This tool can be used to profile specific modules or all modules.
|
||||
---
|
||||
--- The profiler can be toggled with the leader keybinding `d<f1>`
|
||||
--- or with the `PROF` environment variable.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ PROFILER │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
if vim.env.PROF then
|
||||
-- example for lazy.nvim
|
||||
-- change this to the correct path for your plugin manager
|
||||
local snacks = vim.fn.stdpath('data') .. '/lazy/snacks.nvim'
|
||||
vim.opt.rtp:append(snacks)
|
||||
require('snacks.profiler').startup({
|
||||
startup = {
|
||||
event = 'VimEnter', -- stop profiler on this event. Defaults to `VimEnter`
|
||||
-- event = "UIEnter",
|
||||
-- event = "VeryLazy",
|
||||
},
|
||||
})
|
||||
end
|
||||
@@ -1,145 +0,0 @@
|
||||
--- @module "config.rocks"
|
||||
--- This module bootstraps rocks.nvim.
|
||||
--- Rocks is a package manager for Neovim.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ ROCKS │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━ Bootstrap rocks.nvim ━━━━━━━━━━━━━━━━━━━━━
|
||||
function M.bootstrap()
|
||||
do
|
||||
local rocks_config = {
|
||||
rocks_path = vim.env.HOME .. '/.local/share/nvim/rocks',
|
||||
}
|
||||
|
||||
vim.g.rocks_nvim = rocks_config
|
||||
|
||||
local luarocks_path = {
|
||||
vim.fs.joinpath(rocks_config.rocks_path, 'share', 'lua', '5.1', '?.lua'),
|
||||
vim.fs.joinpath(
|
||||
rocks_config.rocks_path,
|
||||
'share',
|
||||
'lua',
|
||||
'5.1',
|
||||
'?',
|
||||
'init.lua'
|
||||
),
|
||||
}
|
||||
package.path = package.path .. ';' .. table.concat(luarocks_path, ';')
|
||||
|
||||
local luarocks_cpath = {
|
||||
vim.fs.joinpath(rocks_config.rocks_path, 'lib', 'lua', '5.1', '?.so'),
|
||||
vim.fs.joinpath(rocks_config.rocks_path, 'lib64', 'lua', '5.1', '?.so'),
|
||||
-- Remove the dylib and dll paths if you do not need macos or windows support
|
||||
vim.fs.joinpath(rocks_config.rocks_path, 'lib', 'lua', '5.1', '?.dylib'),
|
||||
vim.fs.joinpath(
|
||||
rocks_config.rocks_path,
|
||||
'lib64',
|
||||
'lua',
|
||||
'5.1',
|
||||
'?.dylib'
|
||||
),
|
||||
vim.fs.joinpath(rocks_config.rocks_path, 'lib', 'lua', '5.1', '?.dll'),
|
||||
vim.fs.joinpath(rocks_config.rocks_path, 'lib64', 'lua', '5.1', '?.dll'),
|
||||
}
|
||||
package.cpath = package.cpath .. ';' .. table.concat(luarocks_cpath, ';')
|
||||
|
||||
vim.opt.runtimepath:append(
|
||||
vim.fs.joinpath(
|
||||
rocks_config.rocks_path,
|
||||
'lib',
|
||||
'luarocks',
|
||||
'rocks-5.1',
|
||||
'rocks.nvim',
|
||||
'*'
|
||||
)
|
||||
)
|
||||
end
|
||||
|
||||
-- If rocks.nvim is not installed then install it!
|
||||
if not pcall(require, 'rocks') then
|
||||
local rocks_location =
|
||||
---@diagnostic disable-next-line: param-type-mismatch
|
||||
vim.fs.joinpath(vim.fn.stdpath('cache'), 'rocks.nvim')
|
||||
|
||||
if not vim.uv.fs_stat(rocks_location) then
|
||||
-- Pull down rocks.nvim
|
||||
vim.fn.system({
|
||||
'git',
|
||||
'clone',
|
||||
'--filter=blob:none',
|
||||
'https://github.com/nvim-neorocks/rocks.nvim',
|
||||
rocks_location,
|
||||
})
|
||||
end
|
||||
|
||||
-- If the clone was successful then source the bootstrapping script
|
||||
assert(
|
||||
vim.v.shell_error == 0,
|
||||
'rocks.nvim installation failed. Try exiting and re-entering Neovim!'
|
||||
)
|
||||
|
||||
vim.cmd.source(vim.fs.joinpath(rocks_location, 'bootstrap.lua'))
|
||||
|
||||
vim.fn.delete(rocks_location, 'rf')
|
||||
end
|
||||
end
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ensure Luarocks ━━━━━━━━━━━━━━━━━━━━━━━
|
||||
function M.ensure_luarocks()
|
||||
-- Check if 'luarocks' command is available
|
||||
if os.execute('luarocks --version') ~= 0 then
|
||||
-- 'luarocks' is not installed, set up 'luarocks.nvim' plugin
|
||||
local status_ok, lazy = pcall(require, 'lazy')
|
||||
if not status_ok then
|
||||
vim.notify(
|
||||
'Lazy.nvim not found. Please install it to manage plugins.',
|
||||
vim.log.levels.ERROR
|
||||
)
|
||||
return
|
||||
end
|
||||
|
||||
lazy.setup({
|
||||
{
|
||||
'vhyrro/luarocks.nvim',
|
||||
priority = 1000, -- Ensure this plugin loads first
|
||||
opts = {
|
||||
rocks = { 'magick' }, -- Example of a rock that you want to install
|
||||
},
|
||||
config = function()
|
||||
-- Restart Neovim to apply changes after 'luarocks.nvim' sets up
|
||||
vim.cmd('source $MYVIMRC | qa')
|
||||
end,
|
||||
},
|
||||
})
|
||||
end
|
||||
end
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━ Rocks plugin spec ━━━━━━━━━━━━━━━━━━━━━━
|
||||
M.plugin_spec = {
|
||||
'vhyrro/luarocks.nvim',
|
||||
priority = 1000, -- Very high priority is required
|
||||
opts = {
|
||||
rocks = { 'magick' }, -- specifies a list of rocks to install
|
||||
},
|
||||
}
|
||||
|
||||
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Load plugins ━━━━━━━━━━━━━━━━━━━━━━━━━
|
||||
-- Load rocks package manager
|
||||
M.load_rocks = function()
|
||||
require('rocks')
|
||||
end
|
||||
|
||||
-- Perform setup
|
||||
M.setup = function()
|
||||
if vim.g.use_luarocks and not vim.g.is_termux then
|
||||
M.bootstrap()
|
||||
M.ensure_luarocks()
|
||||
M.load_rocks()
|
||||
end
|
||||
end
|
||||
|
||||
-- Execute the setup function
|
||||
M.setup()
|
||||
|
||||
return M
|
||||
@@ -1,158 +0,0 @@
|
||||
---@module "config.rootiest"
|
||||
--- This module contains the configuration options and functions
|
||||
--- for the rootiest distro.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Rootiest Module │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
--- Function to trigger an error message
|
||||
---@param message string The error message to trigger
|
||||
---@return boolean condition true if the error message was triggered, false otherwise
|
||||
local function trigger_error(message)
|
||||
return require('data').func.notify(message, 'ERROR')
|
||||
end
|
||||
|
||||
local function setup_os_vars()
|
||||
-- Check if we are on windows
|
||||
vim.g.is_windows = vim.fn.has('win32') == 1 or vim.fn.has('win64') == 1
|
||||
end
|
||||
|
||||
--- Yank line without leading/trailing whitespace
|
||||
---@return nil
|
||||
function M.yank_line()
|
||||
vim.api.nvim_feedkeys('_v$hy$', 'n', true)
|
||||
end
|
||||
|
||||
-- Variable to track if the precognition plugin has been called once
|
||||
local precog_first_time = true
|
||||
|
||||
--- Toggle the precognition plugin
|
||||
---@return nil
|
||||
function M.toggle_precognition()
|
||||
if pcall(require, 'precognition') then
|
||||
-- Initialize precognition plugin
|
||||
local precognition = require('precognition')
|
||||
-- Toggle the plugin
|
||||
if precog_first_time then
|
||||
precognition.toggle()
|
||||
precognition.toggle() -- Call toggle twice
|
||||
precog_first_time = false
|
||||
else
|
||||
precognition.toggle() -- Call toggle once
|
||||
end
|
||||
else
|
||||
trigger_error('precognition plugin is not installed')
|
||||
end
|
||||
end
|
||||
|
||||
--- Toggle Hardtime and Precognition together
|
||||
---@return nil
|
||||
function M.toggle_hardmode()
|
||||
if pcall(require, 'hardtime') then
|
||||
local hardtime = require('hardtime')
|
||||
hardtime.toggle()
|
||||
M.toggle_precognition()
|
||||
else
|
||||
trigger_error('hardtime plugin is not installed')
|
||||
end
|
||||
end
|
||||
|
||||
--- Load remote-nvim plugin
|
||||
---@return boolean condition true if the plugin was loaded, false otherwise
|
||||
function M.load_remote()
|
||||
if pcall(require, 'remote-nvim') then
|
||||
---@diagnostic disable-next-line: missing-parameter
|
||||
require('remote-nvim').setup()
|
||||
vim.cmd('RemoteStart')
|
||||
return true
|
||||
else
|
||||
trigger_error('remote-nvim plugin is not installed')
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
--- Yank text inside quotes on the current line and paste it into text inside quotes at various marks.
|
||||
--- @return boolean true if any text was pasted successfully, false otherwise
|
||||
function M.YankAndPasteInQuotes()
|
||||
-- Yank text inside quotes on the current line
|
||||
vim.cmd('normal! yiq')
|
||||
|
||||
-- Get the yanked text from the "0 register (the unnamed register)
|
||||
local yanked_text = vim.fn.getreg('"')
|
||||
|
||||
-- List of marks to check ('a' to 'z')
|
||||
local marks = 'abcdefghijklmnopqrstuvwxyz'
|
||||
|
||||
-- Flag to track if any pasting was successful
|
||||
local was_pasted = false
|
||||
|
||||
-- Loop through each mark
|
||||
for mark in marks:gmatch('.') do
|
||||
-- Check if the mark exists (returns the line number or nil)
|
||||
local position = vim.fn.getpos("'" .. mark)
|
||||
|
||||
if position[1] ~= 0 then
|
||||
-- Go to the mark
|
||||
vim.cmd("normal! '" .. mark)
|
||||
|
||||
-- Select text inside quotes and paste the yanked text
|
||||
vim.cmd('normal! viq')
|
||||
vim.cmd('normal! "' .. yanked_text .. 'P')
|
||||
|
||||
-- Set the flag to true since pasting was successful
|
||||
was_pasted = true
|
||||
end
|
||||
end
|
||||
|
||||
-- Return whether any pasting was successful
|
||||
return was_pasted
|
||||
end
|
||||
|
||||
--- Evaluate Neovide state and activate settings if necessary
|
||||
---@return boolean condition true if Neovide is active, false otherwise
|
||||
function M.eval_neovide()
|
||||
if vim.g.neovide then
|
||||
require('config.neovide')
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
--- Define user commands
|
||||
---@return nil
|
||||
function M.define_commands()
|
||||
-- Define Q as a usercmd
|
||||
vim.api.nvim_create_user_command('Q', 'qall', { desc = 'Quit all buffers' })
|
||||
|
||||
-- Define yank line command
|
||||
vim.api.nvim_create_user_command('YankLine', function()
|
||||
M.yank_line()
|
||||
end, { force = true, desc = 'Yank line without leading whitespace' })
|
||||
vim.api.nvim_create_user_command(
|
||||
'YankAndPasteQuotes',
|
||||
M.YankAndPasteInQuotes,
|
||||
{}
|
||||
)
|
||||
end
|
||||
|
||||
--- Set up rootiest module
|
||||
function M.setup()
|
||||
-- Early interventions
|
||||
require('config.early')
|
||||
-- Setup OS variables
|
||||
setup_os_vars()
|
||||
-- Setup neovide
|
||||
M.eval_neovide()
|
||||
-- Define user commands
|
||||
M.define_commands()
|
||||
-- Setup vimscripts
|
||||
require('data.vim').setup()
|
||||
-- Setup types data
|
||||
require('data.types').setup()
|
||||
-- Setup indentor
|
||||
-- require('utils.indentor')
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -1,143 +0,0 @@
|
||||
-- Setup gradient line number column
|
||||
|
||||
-- Table to hold hex color values for easy reference
|
||||
local colors = {
|
||||
statusLineNrCurrent = '#b3befe',
|
||||
statusLineNrDefault = '#444659',
|
||||
fallbackColor = '#808080', -- Fallback gray if the group doesn't exist
|
||||
}
|
||||
|
||||
--- Calculate a color gradient between two colors.
|
||||
-- @param base_color (string) The starting color in hex format (e.g., '#RRGGBB').
|
||||
-- @param target_color (string) The ending color in hex format (e.g., '#RRGGBB').
|
||||
-- @param max_steps (number) The total number of steps in the gradient.
|
||||
-- @param step (number) The current step in the gradient.
|
||||
-- @return (string) The interpolated color in hex format.
|
||||
local function calculate_gradient(base_color, target_color, max_steps, step)
|
||||
-- Parse the base and target colors into RGB components
|
||||
local br, bg, bb =
|
||||
tonumber(base_color:sub(2, 3), 16),
|
||||
tonumber(base_color:sub(4, 5), 16),
|
||||
tonumber(base_color:sub(6, 7), 16)
|
||||
|
||||
local tr, tg, tb =
|
||||
tonumber(target_color:sub(2, 3), 16),
|
||||
tonumber(target_color:sub(4, 5), 16),
|
||||
tonumber(target_color:sub(6, 7), 16)
|
||||
|
||||
-- Calculate the blending factor
|
||||
local factor = step / max_steps
|
||||
|
||||
-- Interpolate between the base and target colors based on the blending factor
|
||||
local r = math.floor(br + (tr - br) * factor)
|
||||
local g = math.floor(bg + (tg - bg) * factor)
|
||||
local b = math.floor(bb + (tb - bb) * factor)
|
||||
|
||||
return string.format('#%02X%02X%02X', r, g, b) -- Return the new color as a string
|
||||
end
|
||||
|
||||
--- Get the foreground color of a highlight group.
|
||||
-- @param group (string) The name of the highlight group.
|
||||
-- @return (string) The foreground color in hex format or a fallback gray color.
|
||||
local function get_highlight_fg(group)
|
||||
local hl = vim.api.nvim_get_hl(0, { name = group })
|
||||
if hl and hl.fg then
|
||||
return string.format('#%06X', hl.fg) -- Convert the integer color to hex
|
||||
else
|
||||
return colors.fallbackColor -- Use fallback gray if the group doesn't exist
|
||||
end
|
||||
end
|
||||
|
||||
--- Set up gradient highlights for a specified group.
|
||||
-- @param base_color (string) The starting color for the gradient.
|
||||
-- @param group_name_prefix (string) The prefix for the highlight group names.
|
||||
-- @param max_steps (number) The total number of steps for the gradient.
|
||||
local function setup_gradient_highlights(
|
||||
base_color,
|
||||
group_name_prefix,
|
||||
max_steps
|
||||
)
|
||||
local target_color = get_highlight_fg('StatusLineNrDefault') -- Get the default color for interpolation
|
||||
for step = 1, max_steps do
|
||||
local color = calculate_gradient(base_color, target_color, max_steps, step) -- Get the gradient color
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
group_name_prefix .. step,
|
||||
{ fg = color, bg = 'NONE' } -- Set the highlight with foreground color and no background
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
-- Define highlight groups for current and default status line numbers
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'StatusLineNrCurrent',
|
||||
{ fg = colors.statusLineNrCurrent, bg = 'NONE', bold = true }
|
||||
)
|
||||
vim.api.nvim_set_hl(
|
||||
0,
|
||||
'StatusLineNrDefault',
|
||||
{ fg = colors.statusLineNrDefault, bg = 'NONE' }
|
||||
)
|
||||
|
||||
-- Set up gradient highlights for lines above and below the cursor
|
||||
setup_gradient_highlights(colors.statusLineNrCurrent, 'StatusLineNrAbove', 10)
|
||||
setup_gradient_highlights(colors.statusLineNrCurrent, 'StatusLineNrBelow', 10)
|
||||
|
||||
-- Custom status column for displaying line number gradients
|
||||
_G.CustomStatusColumn = function()
|
||||
local lnum = vim.v.lnum -- Current line number
|
||||
local cursor_lnum = vim.fn.line('.') -- Current cursor line number
|
||||
local max_gradient_steps = 10 -- Maximum steps in gradient
|
||||
|
||||
-- Use the plugin's original status column
|
||||
local original_statuscolumn = require('snacks.statuscolumn').get()
|
||||
|
||||
--FIXME: Diagnistics indications currently non-functional
|
||||
--
|
||||
-- -- Check for diagnostics on the current line
|
||||
-- local diagnostics = vim.diagnostic.get(0, { lnum = lnum - 1 }) -- Get diagnostics for the current line (subtract 1 for 0-based index)
|
||||
-- local highlight_group = nil
|
||||
--
|
||||
-- -- Loop through diagnostics to determine highlight group based on severity
|
||||
-- for _, diagnostic in ipairs(diagnostics) do
|
||||
-- if diagnostic.severity == vim.diagnostic.severity.ERROR then
|
||||
-- highlight_group = 'DiagnosticSignError'
|
||||
-- break
|
||||
-- elseif diagnostic.severity == vim.diagnostic.severity.WARN then
|
||||
-- highlight_group = 'DiagnosticSignWarn'
|
||||
-- elseif diagnostic.severity == vim.diagnostic.severity.INFO then
|
||||
-- highlight_group = 'DiagnosticSignInfo'
|
||||
-- elseif diagnostic.severity == vim.diagnostic.severity.HINT then
|
||||
-- highlight_group = 'DiagnosticSignHint'
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- -- Highlight for lines with diagnostics
|
||||
-- if highlight_group then
|
||||
-- return '%#' .. highlight_group .. '#' .. original_statuscolumn .. '%*' -- Use the corresponding highlight for this line
|
||||
-- end
|
||||
|
||||
-- Highlight for the current line
|
||||
if lnum == cursor_lnum then
|
||||
return '%#StatusLineNrCurrent#' .. original_statuscolumn .. '%*'
|
||||
end
|
||||
|
||||
-- Highlight for lines above the cursor
|
||||
if lnum < cursor_lnum and (cursor_lnum - lnum) <= max_gradient_steps then
|
||||
local step = cursor_lnum - lnum
|
||||
return '%#StatusLineNrAbove' .. step .. '#' .. original_statuscolumn .. '%*'
|
||||
end
|
||||
|
||||
-- Highlight for lines below the cursor
|
||||
if lnum > cursor_lnum and (lnum - cursor_lnum) <= max_gradient_steps then
|
||||
local step = lnum - cursor_lnum
|
||||
return '%#StatusLineNrBelow' .. step .. '#' .. original_statuscolumn .. '%*'
|
||||
end
|
||||
|
||||
-- Default case for other lines
|
||||
return '%#StatusLineNrDefault#' .. original_statuscolumn .. '%*'
|
||||
end
|
||||
|
||||
-- Set the custom status column to be used
|
||||
vim.o.statuscolumn = [[%!v:lua.CustomStatusColumn()]]
|
||||
@@ -0,0 +1,26 @@
|
||||
--[[
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ Constants │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
--]]
|
||||
|
||||
-- Copyright (C) 2026 Rootiest
|
||||
-- SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
local M = {}
|
||||
|
||||
--- Dashboard Header
|
||||
M.header = [[
|
||||
██████╗ ██████╗ ██████╗ ████████╗██╗███████╗███████╗████████╗
|
||||
██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝██║██╔════╝██╔════╝╚══██╔══╝
|
||||
██████╔╝██║ ██║██║ ██║ ██║ ██║█████╗ ███████╗ ██║
|
||||
██╔══██╗██║ ██║██║ ██║ ██║ ██║██╔══╝ ╚════██║ ██║
|
||||
██║ ██║╚██████╔╝╚██████╔╝ ██║ ██║███████╗███████║ ██║
|
||||
╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚══════╝ ╚═╝
|
||||
|
||||
N E O V I M E D I T I O N
|
||||
|
||||
[ ] [ ] [ ] [ ] [ ] [ ]
|
||||
]]
|
||||
|
||||
return M
|
||||
@@ -1,167 +0,0 @@
|
||||
---@module "data.autocmd"
|
||||
--- This module defines the autocommands for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Autocommands │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
|
||||
M.cpp_picker = function()
|
||||
augroup('cpp_picker', { clear = true })
|
||||
-- C++ Picker
|
||||
autocmd('FileType', {
|
||||
group = 'cpp_picker',
|
||||
pattern = { 'cpp', 'c', 'h', 'hpp' },
|
||||
callback = function()
|
||||
require('data.func').add_keymap(require('data.keys').cpp_picker)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
M.minifiles = {
|
||||
--- Function to dynamically resize the preview window
|
||||
dynamic_resize = function()
|
||||
local function update_width_preview()
|
||||
local multiplier = 0.25
|
||||
if vim.g.minifiles_width ~= nil then
|
||||
multiplier = vim.g.minifiles_width
|
||||
end
|
||||
if package.loaded['mini.files'] then
|
||||
-- Obtain the existing config
|
||||
local config = require('mini.files').config
|
||||
-- Update the width_preview based on the current window size
|
||||
if multiplier > 1 then
|
||||
-- If the multiplier is greater than 1, use as the preview width
|
||||
config.windows.width_preview = multiplier
|
||||
else
|
||||
-- Otherwise, use the current window width multiplied by the multiplier
|
||||
config.windows.width_preview = math.floor(vim.o.columns * multiplier)
|
||||
end
|
||||
-- Apply the updated config
|
||||
require('mini.files').setup(config)
|
||||
end
|
||||
end
|
||||
|
||||
-- Flag to determine if mini.files is currently in use
|
||||
local is_mini_files_active = false
|
||||
|
||||
-- Autocommand group to handle dynamic resizing
|
||||
augroup('MiniFilesDynamicWidth', { clear = true })
|
||||
|
||||
-- Handle mini.files open event to set the flag
|
||||
autocmd('User', {
|
||||
group = 'MiniFilesDynamicWidth',
|
||||
pattern = 'MiniFilesExplorerOpen',
|
||||
callback = function()
|
||||
is_mini_files_active = true
|
||||
end,
|
||||
})
|
||||
|
||||
-- Handle mini.files close event to reset the flag and update the preview width
|
||||
autocmd('User', {
|
||||
group = 'MiniFilesDynamicWidth',
|
||||
pattern = 'MiniFilesExplorerClose',
|
||||
callback = function()
|
||||
is_mini_files_active = false
|
||||
update_width_preview()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Handle window resize event
|
||||
autocmd('VimResized', {
|
||||
group = 'MiniFilesDynamicWidth',
|
||||
callback = function()
|
||||
if is_mini_files_active then
|
||||
-- Defer the update until mini.files closes
|
||||
autocmd('User', {
|
||||
group = 'MiniFilesDynamicWidth',
|
||||
pattern = 'MiniFilesExplorerClose',
|
||||
callback = update_width_preview,
|
||||
once = true, -- Ensure this runs only once
|
||||
})
|
||||
else
|
||||
-- If mini.files is not active, update immediately
|
||||
update_width_preview()
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
-- Create an autogroup for the TermInsertMode autocmds
|
||||
local TermInsertMode = augroup('TermInsertMode', { clear = true })
|
||||
|
||||
-- Start terminal in insert mode
|
||||
autocmd({ 'TermOpen' }, {
|
||||
group = TermInsertMode,
|
||||
pattern = { '*' },
|
||||
callback = function()
|
||||
if vim.opt.buftype:get() == 'terminal' then
|
||||
-- if filetype does not contain 'dashboard'
|
||||
if not string.find(vim.opt.filetype:get(), 'dashboard') then
|
||||
-- If window is editable
|
||||
if vim.opt.modifiable:get() then
|
||||
vim.cmd(':startinsert')
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- When entering a terminal buffer auto switch to insert mode
|
||||
-- I could use TermEnter event but it does not work when switching between window splits
|
||||
autocmd({ 'BufEnter' }, {
|
||||
group = TermInsertMode,
|
||||
pattern = { '*' },
|
||||
callback = function()
|
||||
if vim.opt.buftype:get() == 'terminal' then
|
||||
-- if filetype does not contain 'dashboard'
|
||||
if not string.find(vim.opt.filetype:get(), 'dashboard') then
|
||||
-- If window is editable
|
||||
if vim.opt.modifiable:get() then
|
||||
vim.cmd(':startinsert')
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Update OSC7 in fish shell
|
||||
local function update_osc7()
|
||||
local cwd = vim.fn.getcwd()
|
||||
local uri = 'file://' .. vim.fn.hostname() .. cwd
|
||||
io.stdout:write('\27]7;' .. uri .. '\27\\')
|
||||
end
|
||||
|
||||
-- Save CWD where we can access it
|
||||
local function save_cwd()
|
||||
local cwd = vim.fn.getcwd()
|
||||
local file = io.open(os.getenv('HOME') .. '/.nvim_last_dir', 'w')
|
||||
if file then
|
||||
file:write(cwd)
|
||||
file:close()
|
||||
end
|
||||
end
|
||||
|
||||
-- Update OSC7 and file on directory change
|
||||
autocmd('DirChanged', {
|
||||
callback = function()
|
||||
save_cwd()
|
||||
update_osc7()
|
||||
end,
|
||||
})
|
||||
|
||||
-- Save on exit
|
||||
autocmd('VimLeavePre', {
|
||||
callback = save_cwd,
|
||||
})
|
||||
|
||||
-- Send OSC 7 on startup
|
||||
update_osc7()
|
||||
|
||||
-- Save CWD on startup
|
||||
save_cwd()
|
||||
|
||||
return M
|
||||
@@ -1,147 +0,0 @@
|
||||
--- @module "data.cmd"
|
||||
--- This module contains the commands for the plugins.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ CMD DATA │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local M = {}
|
||||
|
||||
--- Autosave plugin cmds
|
||||
M.autosave = {
|
||||
'ASToggle',
|
||||
}
|
||||
|
||||
--- CodeCompanion plugin cmds
|
||||
M.codecompanion = {
|
||||
'CodeCompanion',
|
||||
'CodeCompanionChat',
|
||||
'CodeCompanionActions',
|
||||
'CodeCompanionCmd',
|
||||
}
|
||||
|
||||
--- Codesnap plugin cmds
|
||||
M.codesnap = {
|
||||
'CodeSnap',
|
||||
'CodeSnapSave',
|
||||
'CodeSnapHighlight',
|
||||
'CodeSnapASCII',
|
||||
}
|
||||
|
||||
--- DiffView plugin cmds
|
||||
M.diffview = {
|
||||
'DiffviewOpen',
|
||||
'DiffviewClose',
|
||||
'DiffviewToggleFiles',
|
||||
'DiffviewFocusFiles',
|
||||
'DiffviewRefresh',
|
||||
'DiffviewFileHistory',
|
||||
}
|
||||
|
||||
--- FloatingHelp plugin cmds
|
||||
M.floating_help = {
|
||||
'FloatingHelp',
|
||||
'FloatingHelpClose',
|
||||
'FloatingHelpToggle',
|
||||
}
|
||||
|
||||
--- Gists plugin cmds
|
||||
M.gist = {
|
||||
'GistCreate',
|
||||
'GistCreateFromFile',
|
||||
'GistsList',
|
||||
}
|
||||
|
||||
--- Gx plugin cmds
|
||||
M.gx = {
|
||||
'Browse',
|
||||
}
|
||||
|
||||
--- ImgClip plugin cmds
|
||||
M.imgclip = {
|
||||
'ImgClipEmbed',
|
||||
'PasteImage',
|
||||
'ImgClipConfig',
|
||||
}
|
||||
|
||||
--- Kitty-Scrollback plugin cmds
|
||||
M.kitty_scrollback = {
|
||||
'KittyScrollbackGenerateKittens',
|
||||
'KittyScrollbackCheckHealth',
|
||||
}
|
||||
|
||||
--- LazyGit plugin cmds
|
||||
M.lazygit = {
|
||||
'LazyGit',
|
||||
'LazyGitConfig',
|
||||
'LazyGitCurrentFile',
|
||||
'LazyGitFilter',
|
||||
'LazyGitFilterCurrentFile',
|
||||
}
|
||||
|
||||
--- Markdown-preview plguin cmds
|
||||
M.markdown_preview = {
|
||||
'MarkdownPreviewToggle',
|
||||
'MarkdownPreview',
|
||||
'MarkdownPreviewStop',
|
||||
}
|
||||
|
||||
--- Nekifoch plugin cmds
|
||||
M.nekifoch = 'Nekifoch'
|
||||
|
||||
--- Thanks plugin cmds
|
||||
M.thanks = {
|
||||
'ThanksAll',
|
||||
'ThanksGithubAuth',
|
||||
'ThanksGithubLogout',
|
||||
'ThanksClearCache',
|
||||
}
|
||||
|
||||
--- Gitlinker plugin cmds
|
||||
M.gitlinker = {
|
||||
'GitLink',
|
||||
}
|
||||
|
||||
--- Qalc plugin cmds
|
||||
M.qalc = {
|
||||
'Qalc',
|
||||
'QalcAttach',
|
||||
'QalcYank',
|
||||
}
|
||||
|
||||
--- Ripsub plugin cmds
|
||||
M.ripsub = {
|
||||
'RipSubstitute',
|
||||
}
|
||||
|
||||
--- Spell Errors plugin cmds
|
||||
M.spell_errors = {
|
||||
'Telescope spell_errors',
|
||||
}
|
||||
|
||||
--- Symbols plugin cmds
|
||||
M.symbols = {
|
||||
'Symbols',
|
||||
'SymbolsToggle',
|
||||
'SymbolsOpen',
|
||||
'SymbolsClose',
|
||||
}
|
||||
|
||||
--- Suda plugin cmds
|
||||
M.suda = {
|
||||
'SudaWrite',
|
||||
'SudaRead',
|
||||
}
|
||||
|
||||
--- Transparent plugin cmds
|
||||
M.transparent = {
|
||||
'TransparentEnable',
|
||||
'TransparentDisable',
|
||||
'TransparentToggle',
|
||||
}
|
||||
|
||||
--- Trouble plugin cmds
|
||||
M.trouble = {
|
||||
'Trouble',
|
||||
}
|
||||
|
||||
return M
|
||||
@@ -1,240 +0,0 @@
|
||||
---@module "data.cond"
|
||||
--- This module defines the conditionals for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Conditionals │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
local func = require('data.func')
|
||||
local types = require('data.types')
|
||||
|
||||
-- Auto-dark-mode conditional options
|
||||
M.auto_dark_mode = function()
|
||||
return func.check_global_var('autodarkmode', true, false)
|
||||
and not func.is_ssh()
|
||||
end
|
||||
|
||||
--- Auto Save conditional options
|
||||
M.autosave = function()
|
||||
return func.check_global_var('autosave', true, false)
|
||||
end
|
||||
|
||||
-- Auto Format conditional options
|
||||
M.autoformat = function()
|
||||
return func.check_global_var('autoformat', true, false)
|
||||
end
|
||||
|
||||
--- Bars-N-Lines conditional options
|
||||
M.barsNlines = function()
|
||||
if
|
||||
func.check_global_var('statuscolumn', 'barsNlines', 'native')
|
||||
or func.check_global_var('tabline', 'barsNlines', 'bufferline')
|
||||
or func.check_global_var('statusline', 'barsNlines', 'lualine')
|
||||
then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
--- Avante conditional options
|
||||
M.avante = function()
|
||||
return func.check_global_var('useavante', true, false)
|
||||
end
|
||||
|
||||
--- ChatGPT conditional options
|
||||
M.chatgpt = function()
|
||||
return func.check_global_var('usechatgpt', true, false)
|
||||
end
|
||||
|
||||
--- GP conditional options
|
||||
M.gp = function()
|
||||
return func.check_global_var('usegpai', true, false)
|
||||
end
|
||||
|
||||
--- Codeium conditional options
|
||||
M.codeium = function()
|
||||
return func.check_global_var('aitool', 'codeium', 'neocodeium')
|
||||
end
|
||||
|
||||
--- CodeSnap conditional options
|
||||
M.codesnap = function()
|
||||
return func.check_global_var('codesnap', true, false)
|
||||
end
|
||||
|
||||
--- Colorful Window-Separators conditional options
|
||||
M.colorfulwinsep = function()
|
||||
return func.check_global_var('colorfulwinsep', true, false)
|
||||
end
|
||||
|
||||
--- Auto-CursorLine conditional options
|
||||
M.cursorline = function()
|
||||
return func.check_global_var('auto_cursorline', true, true)
|
||||
end
|
||||
|
||||
--- Bufferline conditional options
|
||||
M.bufferline = function()
|
||||
if
|
||||
func.check_global_var('tabline', 'bufferline', 'bufferline')
|
||||
or func.check_global_var('tabline', 'barsNlines', 'bufferline')
|
||||
then
|
||||
return true
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
-- Code-Companion conditional options
|
||||
M.codecompanion = function()
|
||||
return func.check_global_var('usecodecomp', true, false)
|
||||
end
|
||||
|
||||
--- CoPilot conditional options
|
||||
M.copilot = function()
|
||||
return vim.g.aitool == 'copilot'
|
||||
end
|
||||
|
||||
--- FloatingHelp conditional options
|
||||
M.floating_help = function()
|
||||
return func.check_global_var('usefloatinghelp', true, false)
|
||||
end
|
||||
|
||||
--- HardTime conditional options
|
||||
M.hardtime = function()
|
||||
return func.check_global_var('usehardtime', true, false)
|
||||
end
|
||||
|
||||
--- Heirline conditional options
|
||||
M.heirline = function()
|
||||
return func.check_global_var('statusline', 'heirline', 'heirline')
|
||||
end
|
||||
|
||||
--- Image conditional options
|
||||
M.image = function()
|
||||
-- Disable image rendering in Neovide
|
||||
-- or when vim.g.useimage = false
|
||||
if vim.g.useimage == false then
|
||||
return false
|
||||
end
|
||||
return not vim.g.neovide
|
||||
end
|
||||
|
||||
M.lualine = function()
|
||||
-- List of excluded buffer names
|
||||
local excluded_buffers = require('data.types').general.buf
|
||||
|
||||
-- List of excluded filetypes
|
||||
local excluded_filetypes = require('data.types').general.ft
|
||||
-- Check buffer name
|
||||
local bufname = vim.api.nvim_buf_get_name(0)
|
||||
for _, name in ipairs(excluded_buffers) do
|
||||
if string.find(bufname, name) then
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Check filetype
|
||||
local filetype = vim.bo.filetype
|
||||
for _, ft in ipairs(excluded_filetypes) do
|
||||
if filetype == ft then
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Default: load for all other buffers
|
||||
return require('data.func').check_global_var(
|
||||
'statusline',
|
||||
'lualine',
|
||||
'lualine'
|
||||
)
|
||||
end
|
||||
|
||||
--- LuaRocks conditional options
|
||||
M.luarocks = function()
|
||||
return func.check_global_var('useluarocks', true, true)
|
||||
end
|
||||
|
||||
--- Minimap conditional options
|
||||
M.minimap = function()
|
||||
types.setup()
|
||||
local ex_ft = types.minimap.ft
|
||||
local ex_buf = types.minimap.buf
|
||||
local ft = vim.bo.filetype
|
||||
local buf = vim.bo.buftype
|
||||
local mod = vim.bo.modifiable
|
||||
return not vim.tbl_contains(ex_ft, ft)
|
||||
and not vim.tbl_contains(ex_buf, buf)
|
||||
and mod == true
|
||||
end
|
||||
|
||||
--- Minuet conditional options
|
||||
M.minuet = function()
|
||||
return func.check_global_var('aitool', 'minuet', 'neocodeium')
|
||||
end
|
||||
|
||||
--- Music Controls conditional options
|
||||
M.musiccontrols = function()
|
||||
return func.check_global_var('usemusic', true, true)
|
||||
end
|
||||
|
||||
--- NekiFoch conditional options
|
||||
M.nekifoch = function()
|
||||
return func.is_kitty()
|
||||
end
|
||||
|
||||
--- Codeium conditional options
|
||||
M.neocodeium = function()
|
||||
return func.check_global_var('aitool', 'neocodeium', 'neocodeium')
|
||||
end
|
||||
|
||||
M.neotree = function()
|
||||
return func.check_global_var('useneotree', true, true)
|
||||
end
|
||||
|
||||
--- Tabnine conditional options
|
||||
M.tabnine = function()
|
||||
return func.check_global_var('aitool', 'tabnine', 'neocodeium')
|
||||
end
|
||||
|
||||
M.tiny_inline_diagnostic = function()
|
||||
return func.check_global_var('usetinyinline', true, false)
|
||||
end
|
||||
|
||||
M.todo = function()
|
||||
if func.check_global_var('usetodo', true, true) then
|
||||
if not func.is_neovide() then
|
||||
if vim.bo.readonly == false then
|
||||
if func.dir_is_git_repo(vim.fn.expand('%:p:h')) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
--- TMux conditional options
|
||||
M.tmux = function()
|
||||
return func.is_tmux()
|
||||
end
|
||||
|
||||
--- Use Smart-splits conditional
|
||||
M.use_splits = function()
|
||||
-- return not func.is_ghostty()
|
||||
return true
|
||||
end
|
||||
|
||||
--- WakaTime conditional options
|
||||
M.wakatime = function()
|
||||
return vim.g.usewakatime
|
||||
end
|
||||
|
||||
--- WezTerm conditional options
|
||||
M.wezterm = function()
|
||||
return func.is_wezterm()
|
||||
end
|
||||
|
||||
--- Yazi conditional options
|
||||
M.yazi = function()
|
||||
return func.check_global_var('useyazi', true, false)
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -1,113 +0,0 @@
|
||||
---@module "data.dash"
|
||||
--- This module contains the data for the dashboard plugins.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ DASH DATA │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local M = {}
|
||||
|
||||
-- Define default path to the logo art
|
||||
local logofile = vim.fn.stdpath('config') .. '/logo/' .. 'neovim.txt'
|
||||
if vim.g.dash_logo then
|
||||
logofile = vim.fn.stdpath('config') .. '/logo/' .. vim.g.dash_logo
|
||||
end
|
||||
M.logo = logofile
|
||||
|
||||
M.fallback_logo = [[
|
||||
███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
|
||||
████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
|
||||
██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
|
||||
██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
|
||||
██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||
╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||
]]
|
||||
|
||||
-- Define dashboard button items in a single table
|
||||
local dashboard_buttons = {
|
||||
-- stylua: ignore start
|
||||
{ key = "f", icon = " ", desc = " Find File", action = function() Pick() end },
|
||||
{ key = "n", icon = " ", desc = " New File", action = function() vim.cmd("ene | startinsert") end },
|
||||
{ key = "r", icon = " ", desc = " Recent Files", action = function() Pick("oldfiles") end },
|
||||
{ key = "g", icon = " ", desc = " Grep Text", action = function() Pick("grep") end },
|
||||
{ key = "p", icon = " ", desc = " Projects", action = function() Pick("projects") end },
|
||||
{ key = "t", icon = " ", desc = " Pick Tree", action = function() Pick("file_browser", "mini") end },
|
||||
{ key = "z", icon = " ", desc = " LazyGit", action = function() Snacks.lazygit() end },
|
||||
{ key = "c", icon = " ", desc = " Config", action = function() Pick("config_files") end },
|
||||
{ key = "s", icon = " ", desc = " Restore Session", action = function() require("persistence").load() end },
|
||||
{ key = "S", icon = " ", desc = " Remote Session", action = function() require("config.rootiest").load_remote() end },
|
||||
{ key = "l", icon = " ", desc = " Lazy", action = function() vim.cmd("Lazy ") end },
|
||||
{ key = "q", icon = " ", desc = " Quit", action = function() vim.api.nvim_input("<cmd>qa<cr>") end },
|
||||
} -- stylua: ignore end
|
||||
|
||||
--- Alpha plugin configuration
|
||||
M.alpha = {
|
||||
--- Function to setup the Alpha dashboard options
|
||||
---@return table dashboard The alpha dashboard options
|
||||
opts = function()
|
||||
-- Load the alpha plugin dashboard-nvim theme
|
||||
local dashboard = require('alpha.themes.dashboard')
|
||||
|
||||
--- Function to read the ASCII art from the logo file
|
||||
---@param logo_path string The path to the logo file
|
||||
---@return table art The ASCII art lines
|
||||
local function read_ascii_art(logo_path)
|
||||
local lines = {}
|
||||
for line in io.lines(logo_path) do
|
||||
table.insert(lines, line)
|
||||
end
|
||||
return lines
|
||||
end
|
||||
|
||||
-- Read the ASCII art from the logo file
|
||||
local ascii_art_lines = read_ascii_art(M.logo)
|
||||
|
||||
-- Add the ASCII art to the dashboard header
|
||||
dashboard.section.header.val = ascii_art_lines
|
||||
|
||||
-- Add the dashboard buttons from the shared table
|
||||
dashboard.section.buttons.val = {}
|
||||
for _, button in ipairs(dashboard_buttons) do
|
||||
table.insert(
|
||||
dashboard.section.buttons.val,
|
||||
-- Ignore string -> function (param type is valid)
|
||||
---@diagnostic disable: param-type-mismatch
|
||||
dashboard.button(button.key, button.icon .. button.desc, button.action)
|
||||
)
|
||||
end
|
||||
|
||||
for _, button in ipairs(dashboard.section.buttons.val) do
|
||||
button.opts.hl = 'AlphaButtons'
|
||||
button.opts.hl_shortcut = 'AlphaShortcut'
|
||||
end
|
||||
|
||||
-- Set up highlight groups for the dashboard
|
||||
dashboard.section.header.opts.hl = 'Conditional' or 'AlphaHeader'
|
||||
dashboard.section.footer.opts.hl = 'AlphaFooter'
|
||||
|
||||
-- Calculate the dashboard layout padding
|
||||
local padding = 0
|
||||
if vim.fn.winheight(0) < 60 then
|
||||
padding = vim.fn.max({ 2, vim.fn.floor(vim.fn.winheight(0) * 0.1) })
|
||||
elseif vim.fn.winheight(0) < 40 then
|
||||
padding = 1
|
||||
elseif vim.fn.winheight(0) < 30 then
|
||||
padding = 0
|
||||
else
|
||||
padding = vim.fn.max({ 2, vim.fn.floor(vim.fn.winheight(0) * 0.2) })
|
||||
end
|
||||
|
||||
-- Apply the padding to the dashboard layout
|
||||
dashboard.opts.layout[1].val = padding
|
||||
|
||||
-- Return the dashboard options
|
||||
return dashboard
|
||||
end,
|
||||
}
|
||||
|
||||
--- Dashboard-nvim plugin configuration
|
||||
M.dashboard_nvim = {
|
||||
-- Reusing the same table for button choices in dashboard-nvim
|
||||
choices = dashboard_buttons,
|
||||
}
|
||||
|
||||
return M
|
||||
@@ -1,169 +0,0 @@
|
||||
---@module "data.deps"
|
||||
--- This module aggregates various dependencies used throughout the configuration.
|
||||
--- It provides a centralized way to access dependencies.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ DEPENDENCIES │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
M.avante = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'MunifTanjim/nui.nvim',
|
||||
}
|
||||
|
||||
M.chatgpt = {
|
||||
'MunifTanjim/nui.nvim',
|
||||
'nvim-lua/plenary.nvim',
|
||||
'folke/trouble.nvim',
|
||||
'nvim-telescope/telescope.nvim',
|
||||
}
|
||||
|
||||
M.codecompanion = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
}
|
||||
|
||||
--- nvim-cmp dependencies
|
||||
---@return table The nvim-cmp dependencies
|
||||
M.cmp = {
|
||||
{
|
||||
'L3MON4D3/LuaSnip',
|
||||
--- Function to build the dependencies
|
||||
---@return string|nil The command to build the dependencies
|
||||
build = (function()
|
||||
if vim.fn.has('win32') == 1 or vim.fn.executable('make') == 0 then
|
||||
return
|
||||
end
|
||||
return 'make install_jsregexp'
|
||||
end)(),
|
||||
dependencies = {
|
||||
{
|
||||
'rafamadriz/friendly-snippets',
|
||||
config = function()
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
'petertriho/cmp-git',
|
||||
opts = {},
|
||||
--- Function to configure the cmp-git dependency
|
||||
---@return table|nil The cmp-git config
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
cmp.setup.filetype('gitcommit', {
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'git', priority = 50 },
|
||||
{ name = 'path', priority = 40 },
|
||||
}, {
|
||||
{ name = 'buffer', priority = 50 },
|
||||
}),
|
||||
})
|
||||
end,
|
||||
},
|
||||
'saadparwaiz1/cmp_luasnip',
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-buffer',
|
||||
'onsails/lspkind.nvim',
|
||||
'hrsh7th/cmp-cmdline',
|
||||
'dmitmel/cmp-cmdline-history',
|
||||
'teramako/cmp-cmdline-prompt.nvim',
|
||||
'mtoohey31/cmp-fish',
|
||||
'vim-dadbod-completion',
|
||||
{
|
||||
'chrisgrieser/cmp_yanky',
|
||||
option = {
|
||||
onlyCurrentFiletype = false,
|
||||
},
|
||||
},
|
||||
'SergioRibera/cmp-dotenv',
|
||||
'hrsh7th/cmp-calc',
|
||||
'davidsierradz/cmp-conventionalcommits',
|
||||
}
|
||||
|
||||
--- Gx plugin dependencies
|
||||
M.gx = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
}
|
||||
|
||||
--- Hardtime plugin dependencies
|
||||
M.hardtime = {
|
||||
'MunifTanjim/nui.nvim',
|
||||
'nvim-lua/plenary.nvim',
|
||||
}
|
||||
|
||||
--- LazyDev plugin dependencies
|
||||
M.lazydev = {
|
||||
'gonstoll/wezterm-types',
|
||||
}
|
||||
|
||||
--- LazyGit plugin dependencies
|
||||
M.lazygit = {
|
||||
'nvim-lua/plenary.nvim',
|
||||
}
|
||||
|
||||
--- Lualine plugin dependencies
|
||||
M.lualine = {
|
||||
{ 'bezhermoso/todos-lualine.nvim' },
|
||||
{ 'folke/todo-comments.nvim' },
|
||||
}
|
||||
|
||||
--- Minuet plugin dependencies
|
||||
M.minuet = {
|
||||
{ 'nvim-lua/plenary.nvim' },
|
||||
}
|
||||
|
||||
--- MusicControls plugin dependencies
|
||||
M.musiccontrols = {
|
||||
'rcarriga/nvim-notify',
|
||||
}
|
||||
|
||||
--- Table for plugins that need Telescope as a dependency
|
||||
M.needs_telescope = {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
}
|
||||
|
||||
--- Table for plugins that need Treesitter as a dependency
|
||||
M.needs_treesitter = {
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
}
|
||||
|
||||
--- Neotest plugin adapters and dependencies
|
||||
M.neotest = {
|
||||
adapters = {
|
||||
'neotest-plenary',
|
||||
'neotest-python',
|
||||
'neotest-vim-test',
|
||||
'neotest-minitest',
|
||||
'neotest-bash',
|
||||
},
|
||||
deps = {
|
||||
'nvim-neotest/nvim-nio',
|
||||
'nvim-lua/plenary.nvim',
|
||||
'zidhuss/neotest-minitest',
|
||||
'rcasia/neotest-bash',
|
||||
'antoinemadec/FixCursorHold.nvim',
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
},
|
||||
}
|
||||
|
||||
--- Recorder plugin dependencies
|
||||
M.recorder = {
|
||||
'rcarriga/nvim-notify',
|
||||
}
|
||||
|
||||
--- nvim-remote plugin dependencies
|
||||
M.remotenvim = {
|
||||
'nvim-lua/plenary.nvim', -- For standard functions
|
||||
'MunifTanjim/nui.nvim', -- To build the plugin UI
|
||||
'nvim-telescope/telescope.nvim', -- For picking b/w different remote methods
|
||||
}
|
||||
|
||||
--- Zenbones plugin dependencies
|
||||
M.zenbones = {
|
||||
'rktjmp/lush.nvim',
|
||||
}
|
||||
|
||||
return M
|
||||
@@ -1,47 +0,0 @@
|
||||
---@module "data.events"
|
||||
--- This module defines the event tables for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Events │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
--- DEFAULT ---
|
||||
M.default = 'VeryLazy'
|
||||
|
||||
--- Alpha events
|
||||
M.alpha = { 'VimEnter' }
|
||||
|
||||
--- Auto Save events
|
||||
M.autosave = { 'InsertLeave', 'TextChanged' }
|
||||
|
||||
--- Colorful Window Separators events
|
||||
M.colorfulwinsep = { 'WinLeave' }
|
||||
|
||||
--- Dashboard-Nvim events
|
||||
M.dashboard = { 'UIEnter' }
|
||||
|
||||
--- Dead Column
|
||||
M.deadcolumn = { 'BufEnter' }
|
||||
|
||||
--- Heirline events
|
||||
M.heirline = { 'UIEnter' }
|
||||
|
||||
--- Highlight Colors events
|
||||
M.highlightcolor = { 'BufReadPre' }
|
||||
|
||||
--- Mini.Align events
|
||||
M.minialign = { 'InsertEnter' }
|
||||
|
||||
--- Mini.SplitJoin events
|
||||
M.minisplitjoin = { 'InsertEnter' }
|
||||
|
||||
--- Discord Presence events
|
||||
M.presence = { 'LazyFile' }
|
||||
|
||||
--- RipGrep Substitute events
|
||||
M.ripsub = { 'InsertEnter' }
|
||||
|
||||
--- SmoothCursor events
|
||||
M.smoothcursor = { 'BufEnter' }
|
||||
|
||||
return M
|
||||
@@ -1,12 +0,0 @@
|
||||
---@module "data.ft"
|
||||
--- This module defines the filetype tables for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Filetypes │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
local M = {}
|
||||
|
||||
M.academic = { 'markdown', 'tex' }
|
||||
|
||||
M.helpview = 'help'
|
||||
|
||||
return M
|
||||
@@ -1,53 +0,0 @@
|
||||
---@module "data"
|
||||
--- This module aggregates various data tables used throughout the configuration.
|
||||
local data = {}
|
||||
|
||||
-- Explicitly specify for LSP support
|
||||
data.keys = require('data.keys')
|
||||
data.types = require('data.types')
|
||||
data.func = require('data.func')
|
||||
data.cmd = require('data.cmd')
|
||||
data.deps = require('data.deps')
|
||||
data.dash = require('data.dash')
|
||||
data.ft = require('data.ft')
|
||||
data.events = require('data.events')
|
||||
data.autocmd = require('data.autocmd')
|
||||
data.cond = require('data.cond')
|
||||
data.vim = require('data.vim')
|
||||
|
||||
-- Generic function to iterate over files in a specified directory and load Lua modules
|
||||
function data.load_modules_from_dir(directory, module_prefix)
|
||||
-- Open the specified directory
|
||||
local files = vim.fn.readdir(directory)
|
||||
|
||||
for _, file in ipairs(files) do
|
||||
-- Skip init.lua
|
||||
if file ~= 'init.lua' and file:match('.*%.lua$') then
|
||||
-- Get the module name without the .lua extension
|
||||
local module_name = file:sub(1, -5)
|
||||
-- Construct the module path
|
||||
local module_path = module_prefix .. '.' .. module_name
|
||||
-- Load the module if not already explicitly set
|
||||
if not _G[module_name] then
|
||||
_G[module_name] = require(module_path)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- Example usage
|
||||
local function read_data_dir()
|
||||
-- Getting the root path for the current module directory
|
||||
local dir_path = vim.fn.fnamemodify(debug.getinfo(1, 'S').source:sub(2), ':h')
|
||||
-- Load modules from the data directory
|
||||
data.load_modules_from_dir(dir_path, 'data')
|
||||
end
|
||||
|
||||
-- Read the directory and load any additional modules
|
||||
read_data_dir()
|
||||
|
||||
---@alias DataModule table<string, any>
|
||||
|
||||
---@type DataModule
|
||||
|
||||
return data
|
||||
@@ -1,14 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ VimScript │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local M = {}
|
||||
|
||||
M.setup = function()
|
||||
-- Setup vimscript options
|
||||
vim.cmd([[
|
||||
" Vimscript options here
|
||||
]])
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -0,0 +1,373 @@
|
||||
--[[
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ Keymaps │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
--]]
|
||||
|
||||
---- Copyright (C) 2026 Rootiest
|
||||
-- SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
-- System Clipboard Integration
|
||||
-- This makes 'y' and 'p' (and all other yank/paste operations)
|
||||
-- use the system clipboard by default.
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Redirect 'delete' and 'change' operations to the 'd' register
|
||||
-- This keeps your system clipboard (unnamedplus) clean
|
||||
local delete_keys = { "d", "D", "c", "C", "x", "X" }
|
||||
for _, key in ipairs(delete_keys) do
|
||||
vim.keymap.set({ "n", "v" }, key, '"d' .. key, { noremap = true, silent = true })
|
||||
end
|
||||
|
||||
-- If you ever need to paste what you just deleted:
|
||||
-- Type "dp (instead of just p)
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Quit and Save All with :Q
|
||||
-- Replaces safety-checked :xa with a forced write-all-and-quit.
|
||||
vim.api.nvim_create_user_command("Q", "xa!", { desc = "Write all and quit (forced)" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Search and Replace (Grug-far)
|
||||
vim.keymap.set("n", "<leader>sr", function()
|
||||
require("grug-far").open({
|
||||
prefills = {
|
||||
search = vim.fn.expand("<cword>"),
|
||||
},
|
||||
})
|
||||
end, { desc = "Search and Replace" })
|
||||
|
||||
-- Snacks Keymaps
|
||||
-- Top Pickers & Explorer
|
||||
vim.keymap.set("n", "<leader><space>", function()
|
||||
Snacks.picker.smart()
|
||||
end, { desc = "Smart Find Files" })
|
||||
vim.keymap.set("n", "<leader>,", function()
|
||||
Snacks.picker.buffers()
|
||||
end, { desc = "Buffers" })
|
||||
vim.keymap.set("n", "<leader>/", function()
|
||||
Snacks.picker.grep()
|
||||
end, { desc = "Grep" })
|
||||
vim.keymap.set("n", "<leader>:", function()
|
||||
Snacks.picker.command_history()
|
||||
end, { desc = "Command History" })
|
||||
vim.keymap.set("n", "<leader>n", function()
|
||||
Snacks.picker.notifications()
|
||||
end, { desc = "Notification History" })
|
||||
vim.keymap.set("n", "<leader>e", function()
|
||||
Snacks.explorer()
|
||||
end, { desc = "File Explorer" })
|
||||
|
||||
-- Find
|
||||
vim.keymap.set("n", "<leader>fb", function()
|
||||
Snacks.picker.buffers()
|
||||
end, { desc = "Buffers" })
|
||||
vim.keymap.set("n", "<leader>fc", function()
|
||||
Snacks.picker.files({ cwd = vim.fn.stdpath("config") })
|
||||
end, { desc = "Find Config File" })
|
||||
vim.keymap.set("n", "<leader>ff", function()
|
||||
Snacks.picker.files()
|
||||
end, { desc = "Find Files" })
|
||||
vim.keymap.set("n", "<leader>fg", function()
|
||||
Snacks.picker.git_files()
|
||||
end, { desc = "Find Git Files" })
|
||||
vim.keymap.set("n", "<leader>fp", function()
|
||||
Snacks.picker.projects()
|
||||
end, { desc = "Projects" })
|
||||
vim.keymap.set("n", "<leader>fr", function()
|
||||
Snacks.picker.recent()
|
||||
end, { desc = "Recent" })
|
||||
|
||||
-- Git
|
||||
vim.keymap.set("n", "<leader>gb", function()
|
||||
Snacks.picker.git_branches()
|
||||
end, { desc = "Git Branches" })
|
||||
vim.keymap.set("n", "<leader>gl", function()
|
||||
Snacks.picker.git_log()
|
||||
end, { desc = "Git Log" })
|
||||
vim.keymap.set("n", "<leader>gL", function()
|
||||
Snacks.picker.git_log_line()
|
||||
end, { desc = "Git Log Line" })
|
||||
vim.keymap.set("n", "<leader>gs", function()
|
||||
Snacks.picker.git_status()
|
||||
end, { desc = "Git Status" })
|
||||
vim.keymap.set("n", "<leader>gS", function()
|
||||
Snacks.picker.git_stash()
|
||||
end, { desc = "Git Stash" })
|
||||
vim.keymap.set("n", "<leader>gd", function()
|
||||
Snacks.picker.git_diff()
|
||||
end, { desc = "Git Diff (Hunks)" })
|
||||
vim.keymap.set("n", "<leader>gf", function()
|
||||
Snacks.picker.git_log_file()
|
||||
end, { desc = "Git Log File" })
|
||||
|
||||
-- GH
|
||||
vim.keymap.set("n", "<leader>gi", function()
|
||||
Snacks.picker.gh_issue()
|
||||
end, { desc = "GitHub Issues (open)" })
|
||||
vim.keymap.set("n", "<leader>gI", function()
|
||||
Snacks.picker.gh_issue({ state = "all" })
|
||||
end, { desc = "GitHub Issues (all)" })
|
||||
vim.keymap.set("n", "<leader>gp", function()
|
||||
Snacks.picker.gh_pr()
|
||||
end, { desc = "GitHub Pull Requests (open)" })
|
||||
vim.keymap.set("n", "<leader>gP", function()
|
||||
Snacks.picker.gh_pr({ state = "all" })
|
||||
end, { desc = "GitHub Pull Requests (all)" })
|
||||
|
||||
-- Tea (Gitea/Forgejo)
|
||||
vim.keymap.set("n", "<leader>gt", function()
|
||||
Snacks.tea.pr()
|
||||
end, { desc = "Tea Pull Requests (open)" })
|
||||
vim.keymap.set("n", "<leader>gT", function()
|
||||
Snacks.tea.pr({ state = "all" })
|
||||
end, { desc = "Tea Pull Requests (all)" })
|
||||
vim.keymap.set("n", "<leader>gc", function()
|
||||
Snacks.tea.pr_create({})
|
||||
end, { desc = "Tea Create Pull Request" })
|
||||
|
||||
-- Grep
|
||||
vim.keymap.set("n", "<leader>sb", function()
|
||||
Snacks.picker.lines()
|
||||
end, { desc = "Buffer Lines" })
|
||||
vim.keymap.set("n", "<leader>sB", function()
|
||||
Snacks.picker.grep_buffers()
|
||||
end, { desc = "Grep Open Buffers" })
|
||||
vim.keymap.set("n", "<leader>sg", function()
|
||||
Snacks.picker.grep()
|
||||
end, { desc = "Grep" })
|
||||
vim.keymap.set({ "n", "x" }, "<leader>sw", function()
|
||||
Snacks.picker.grep_word()
|
||||
end, { desc = "Visual selection or word" })
|
||||
|
||||
-- Search
|
||||
vim.keymap.set("n", '<leader>s"', function()
|
||||
Snacks.picker.registers()
|
||||
end, { desc = "Registers" })
|
||||
vim.keymap.set("n", "<leader>s/", function()
|
||||
Snacks.picker.search_history()
|
||||
end, { desc = "Search History" })
|
||||
vim.keymap.set("n", "<leader>sa", function()
|
||||
Snacks.picker.autocmds()
|
||||
end, { desc = "Autocmds" })
|
||||
vim.keymap.set("n", "<leader>sc", function()
|
||||
Snacks.picker.command_history()
|
||||
end, { desc = "Command History" })
|
||||
vim.keymap.set("n", "<leader>sC", function()
|
||||
Snacks.picker.commands()
|
||||
end, { desc = "Commands" })
|
||||
vim.keymap.set("n", "<leader>sd", function()
|
||||
Snacks.picker.diagnostics()
|
||||
end, { desc = "Diagnostics" })
|
||||
vim.keymap.set("n", "<leader>sD", function()
|
||||
Snacks.picker.diagnostics_buffer()
|
||||
end, { desc = "Buffer Diagnostics" })
|
||||
vim.keymap.set("n", "<leader>sh", function()
|
||||
Snacks.picker.help()
|
||||
end, { desc = "Help Pages" })
|
||||
vim.keymap.set("n", "<leader>sH", function()
|
||||
Snacks.picker.highlights()
|
||||
end, { desc = "Highlights" })
|
||||
vim.keymap.set("n", "<leader>si", function()
|
||||
Snacks.picker.icons()
|
||||
end, { desc = "Icons" })
|
||||
vim.keymap.set("n", "<leader>sj", function()
|
||||
Snacks.picker.jumps()
|
||||
end, { desc = "Jumps" })
|
||||
vim.keymap.set("n", "<leader>sk", function()
|
||||
Snacks.picker.keymaps()
|
||||
end, { desc = "Keymaps" })
|
||||
vim.keymap.set("n", "<leader>sl", function()
|
||||
Snacks.picker.loclist()
|
||||
end, { desc = "Location List" })
|
||||
vim.keymap.set("n", "<leader>sm", function()
|
||||
Snacks.picker.marks()
|
||||
end, { desc = "Marks" })
|
||||
vim.keymap.set("n", "<leader>sM", function()
|
||||
Snacks.picker.man()
|
||||
end, { desc = "Man Pages" })
|
||||
vim.keymap.set("n", "<leader>sp", function()
|
||||
Snacks.picker.lazy()
|
||||
end, { desc = "Search for Plugin Spec" })
|
||||
vim.keymap.set("n", "<leader>sq", function()
|
||||
Snacks.picker.qflist()
|
||||
end, { desc = "Quickfix List" })
|
||||
vim.keymap.set("n", "<leader>sR", function()
|
||||
Snacks.picker.resume()
|
||||
end, { desc = "Resume" })
|
||||
vim.keymap.set("n", "<leader>su", function()
|
||||
Snacks.picker.undo()
|
||||
end, { desc = "Undo History" })
|
||||
vim.keymap.set("n", "<leader>uC", function()
|
||||
Snacks.picker.colorschemes()
|
||||
end, { desc = "Colorschemes" })
|
||||
|
||||
-- LSP
|
||||
vim.keymap.set("n", "gd", function()
|
||||
Snacks.picker.lsp_definitions()
|
||||
end, { desc = "Goto Definition" })
|
||||
vim.keymap.set("n", "gD", function()
|
||||
Snacks.picker.lsp_declarations()
|
||||
end, { desc = "Goto Declaration" })
|
||||
vim.keymap.set("n", "gr", function()
|
||||
Snacks.picker.lsp_references()
|
||||
end, { nowait = true, desc = "References" })
|
||||
vim.keymap.set("n", "gI", function()
|
||||
Snacks.picker.lsp_implementations()
|
||||
end, { desc = "Goto Implementation" })
|
||||
vim.keymap.set("n", "gy", function()
|
||||
Snacks.picker.lsp_type_definitions()
|
||||
end, { desc = "Goto T[y]pe Definition" })
|
||||
vim.keymap.set("n", "gai", function()
|
||||
Snacks.picker.lsp_incoming_calls()
|
||||
end, { desc = "C[a]lls Incoming" })
|
||||
vim.keymap.set("n", "gao", function()
|
||||
Snacks.picker.lsp_outgoing_calls()
|
||||
end, { desc = "C[a]lls Outgoing" })
|
||||
vim.keymap.set("n", "<leader>ss", function()
|
||||
Snacks.picker.lsp_symbols()
|
||||
end, { desc = "LSP Symbols" })
|
||||
vim.keymap.set("n", "<leader>sS", function()
|
||||
Snacks.picker.lsp_workspace_symbols()
|
||||
end, { desc = "LSP Workspace Symbols" })
|
||||
|
||||
-- Standard LSP
|
||||
vim.keymap.set("n", "K", vim.lsp.buf.hover, { desc = "Hover Documentation" })
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Code Action" })
|
||||
vim.keymap.set("n", "<leader>cr", function()
|
||||
return ":" .. require("inc_rename").config.cmd_name .. " " .. vim.fn.expand("<cword>")
|
||||
end, { expr = true, desc = "Rename Symbol" })
|
||||
|
||||
-- Other
|
||||
vim.keymap.set("n", "<leader>sq", "<cmd>nohlsearch<cr>", { desc = "Clear Search Highlights" })
|
||||
vim.keymap.set("n", "<leader>z", function()
|
||||
Snacks.zen()
|
||||
end, { desc = "Toggle Zen Mode" })
|
||||
vim.keymap.set("n", "<leader>Z", function()
|
||||
Snacks.zen.zoom()
|
||||
end, { desc = "Toggle Zoom" })
|
||||
vim.keymap.set("n", "<leader>.", function()
|
||||
Snacks.scratch()
|
||||
end, { desc = "Toggle Scratch Buffer" })
|
||||
vim.keymap.set("n", "<leader>S", function()
|
||||
Snacks.scratch.select()
|
||||
end, { desc = "Select Scratch Buffer" })
|
||||
vim.keymap.set("n", "<leader>n", function()
|
||||
Snacks.notifier.show_history()
|
||||
end, { desc = "Notification History" })
|
||||
vim.keymap.set("n", "<leader>bd", function()
|
||||
Snacks.bufdelete()
|
||||
end, { desc = "Delete Buffer" })
|
||||
vim.keymap.set("n", "<leader>cR", function()
|
||||
Snacks.rename.rename_file()
|
||||
end, { desc = "Rename File" })
|
||||
vim.keymap.set({ "n", "v" }, "<leader>gB", function()
|
||||
Snacks.gitbrowse()
|
||||
end, { desc = "Git Browse" })
|
||||
vim.keymap.set("n", "<leader>gg", function()
|
||||
Snacks.lazygit()
|
||||
end, { desc = "Lazygit" })
|
||||
vim.keymap.set("n", "<leader>un", function()
|
||||
Snacks.notifier.hide()
|
||||
end, { desc = "Dismiss All Notifications" })
|
||||
vim.keymap.set({ "n", "t" }, "<c-/>", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "Toggle Terminal" })
|
||||
vim.keymap.set({ "n", "t" }, "<c-_>", function()
|
||||
Snacks.terminal()
|
||||
end, { desc = "which_key_ignore" })
|
||||
vim.keymap.set({ "n", "t" }, "]]", function()
|
||||
Snacks.words.jump(vim.v.count1)
|
||||
end, { desc = "Next Reference" })
|
||||
vim.keymap.set({ "n", "t" }, "[[", function()
|
||||
Snacks.words.jump(-vim.v.count1)
|
||||
end, { desc = "Prev Reference" })
|
||||
vim.keymap.set("n", "<leader>N", function()
|
||||
Snacks.win({
|
||||
file = vim.api.nvim_get_runtime_file("doc/news.txt", false)[1],
|
||||
width = 0.6,
|
||||
height = 0.6,
|
||||
wo = {
|
||||
spell = false,
|
||||
wrap = false,
|
||||
signcolumn = "yes",
|
||||
statuscolumn = " ",
|
||||
conceallevel = 3,
|
||||
},
|
||||
})
|
||||
end, { desc = "Neovim News" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Sidekick NES: accept next-edit suggestion in normal mode
|
||||
vim.keymap.set("n", "<Tab>", function()
|
||||
require("sidekick").nes_jump_or_apply()
|
||||
end, { desc = "Apply Sidekick NES Suggestion" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Leap Keymaps
|
||||
vim.keymap.set({ "n", "x", "o" }, "<CR>", "<Plug>(leap)")
|
||||
vim.keymap.set("n", "S", "<Plug>(leap-from-window)")
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Conform Keymaps
|
||||
vim.keymap.set({ "n", "v" }, "<leader>cf", function()
|
||||
require("conform").format({ lsp_format = "fallback" })
|
||||
end, { desc = "Format Buffer" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Undotree Keymaps
|
||||
vim.keymap.set("n", "<leader>uu", "<cmd>UndotreeToggle<cr>", { desc = "Toggle Undotree" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Comment Box Keymaps
|
||||
vim.keymap.set({ "n", "v" }, "<leader>cbb", "<cmd>CBccbox<cr>", { desc = "Centered Box" })
|
||||
vim.keymap.set({ "n", "v" }, "<leader>cbl", "<cmd>CBcline<cr>", { desc = "Centered Line" })
|
||||
vim.keymap.set({ "n", "v" }, "<leader>cbd", "<cmd>CBd<cr>", { desc = "Delete Box/Line" })
|
||||
vim.keymap.set("n", "<leader>cbk", "<cmd>CBcatalog<cr>", { desc = "Box Style Catalog" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Persistence Keymaps
|
||||
vim.keymap.set("n", "<leader>qs", function()
|
||||
require("persistence").load()
|
||||
end, { desc = "Restore Session" })
|
||||
vim.keymap.set("n", "<leader>qS", function()
|
||||
require("persistence").select()
|
||||
end, { desc = "Select Session" })
|
||||
vim.keymap.set("n", "<leader>ql", function()
|
||||
require("persistence").load({ last = true })
|
||||
end, { desc = "Restore Last Session" })
|
||||
vim.keymap.set("n", "<leader>qd", function()
|
||||
require("persistence").stop()
|
||||
end, { desc = "Don't Save Current Session" })
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
-- Haunt Keymaps
|
||||
vim.keymap.set("n", "<leader>ha", function()
|
||||
require("haunt.api").annotate()
|
||||
end, { desc = "Annotate" })
|
||||
vim.keymap.set("n", "<leader>ht", function()
|
||||
require("haunt.api").toggle_annotation()
|
||||
end, { desc = "Toggle Annotation" })
|
||||
vim.keymap.set("n", "<leader>hd", function()
|
||||
require("haunt.api").delete()
|
||||
end, { desc = "Delete Bookmark" })
|
||||
vim.keymap.set("n", "<leader>hn", function()
|
||||
require("haunt.api").next()
|
||||
end, { desc = "Next Bookmark" })
|
||||
vim.keymap.set("n", "<leader>hp", function()
|
||||
require("haunt.api").prev()
|
||||
end, { desc = "Previous Bookmark" })
|
||||
vim.keymap.set("n", "<leader>hl", function()
|
||||
require("haunt.picker").show()
|
||||
end, { desc = "Show Bookmark Picker" })
|
||||
@@ -0,0 +1,97 @@
|
||||
--[[
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ Lazyload │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
--]]
|
||||
|
||||
-- Original work Copyright (c) 2021 Fredrik Averpil
|
||||
-- This file is licensed under the MIT License.
|
||||
-- See: https://github.com/fredrikaverpil/dotfiles/blob/main/LICENSE
|
||||
|
||||
-- Lazyload queues for phased plugin loading.
|
||||
--
|
||||
-- on_vim_enter(fn): async fire-and-forget via vim.schedule() (default)
|
||||
-- on_vim_enter(fn, { sync = true }): synchronous, must complete before next phase
|
||||
-- on_override(fn): runs after all on_vim_enter callbacks (for .nvim.lua overrides)
|
||||
|
||||
local M = {}
|
||||
|
||||
local vim_enter_queue = {}
|
||||
local override_queue = {}
|
||||
|
||||
---@param queue { fn: fun(), sync: boolean }[]
|
||||
local function drain(queue)
|
||||
for _, entry in ipairs(queue) do
|
||||
if not entry.sync then
|
||||
vim.schedule(entry.fn)
|
||||
end
|
||||
end
|
||||
for _, entry in ipairs(queue) do
|
||||
if entry.sync then
|
||||
entry.fn()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function drain_override()
|
||||
if not override_queue then
|
||||
return
|
||||
end
|
||||
for _, entry in ipairs(override_queue) do
|
||||
vim.schedule(function()
|
||||
local ok, err = pcall(entry.fn)
|
||||
if not ok then
|
||||
vim.notify((".nvim.lua override error:\n%s"):format(err), vim.log.levels.ERROR)
|
||||
end
|
||||
end)
|
||||
end
|
||||
override_queue = nil
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("VimEnter", {
|
||||
once = true,
|
||||
callback = function()
|
||||
drain(vim_enter_queue)
|
||||
vim_enter_queue = nil
|
||||
drain_override()
|
||||
end,
|
||||
})
|
||||
|
||||
--- Run at VimEnter. Async by default. Pass { sync = true } to run synchronously.
|
||||
---@param fn fun()
|
||||
---@param opts? { sync?: boolean }
|
||||
function M.on_vim_enter(fn, opts)
|
||||
local sync = opts and opts.sync or false
|
||||
if vim_enter_queue then
|
||||
table.insert(vim_enter_queue, { fn = fn, sync = sync })
|
||||
elseif sync then
|
||||
fn()
|
||||
else
|
||||
vim.schedule(fn)
|
||||
end
|
||||
end
|
||||
|
||||
--- Run after all on_vim_enter callbacks (including async ones) have executed.
|
||||
--- Intended for project-local overrides from .nvim.lua that need to patch
|
||||
--- plugin state after setup() has run. Exrc runs at step 7c — before plugin/
|
||||
--- files — so it cannot override plugin setup directly; this queue bridges
|
||||
--- that gap by registering a callback that runs after the VimEnter drain.
|
||||
---@param fn fun()
|
||||
function M.on_override(fn)
|
||||
if override_queue then
|
||||
table.insert(override_queue, { fn = fn })
|
||||
else
|
||||
vim.schedule(fn)
|
||||
end
|
||||
end
|
||||
|
||||
-- Call function only once.
|
||||
function M.call_once(fn)
|
||||
local id = tostring(fn)
|
||||
if fn and not Config.called[id] then
|
||||
fn()
|
||||
Config.called[id] = true
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
@@ -1,137 +0,0 @@
|
||||
return {
|
||||
{ -- Codeium
|
||||
import = 'lazyvim.plugins.extras.ai.codeium',
|
||||
cond = require('data.cond').codeium,
|
||||
event = 'VeryLazy',
|
||||
lazy = true,
|
||||
opts = function()
|
||||
require('codeium.virtual_text').set_statusbar_refresh(function()
|
||||
require('lualine').refresh()
|
||||
end)
|
||||
end,
|
||||
},
|
||||
{ -- Copilot
|
||||
import = 'lazyvim.plugins.extras.ai.copilot',
|
||||
cond = require('data.cond').copilot,
|
||||
},
|
||||
{ -- Copilot Chat
|
||||
import = 'lazyvim.plugins.extras.ai.copilot-chat',
|
||||
cond = require('data.cond').copilot,
|
||||
},
|
||||
{ -- Tabnine
|
||||
import = 'lazyvim.plugins.extras.ai.tabnine',
|
||||
cond = require('data.cond').tabnine,
|
||||
},
|
||||
{ -- luasnip
|
||||
import = 'lazyvim.plugins.extras.coding.luasnip',
|
||||
},
|
||||
{ -- Yanky
|
||||
import = 'lazyvim.plugins.extras.coding.yanky',
|
||||
},
|
||||
{ -- Neogen
|
||||
import = 'lazyvim.plugins.extras.coding.neogen',
|
||||
},
|
||||
{ -- DAP Core
|
||||
import = 'lazyvim.plugins.extras.dap.core',
|
||||
},
|
||||
{ -- DAP Neovim Lua Adapter
|
||||
import = 'lazyvim.plugins.extras.dap.nlua',
|
||||
},
|
||||
{ -- NeoTest
|
||||
import = 'lazyvim.plugins.extras.test.core',
|
||||
},
|
||||
{ import = 'lazyvim.plugins.extras.ui.smear-cursor' },
|
||||
{ -- Dial
|
||||
import = 'lazyvim.plugins.extras.editor.dial',
|
||||
},
|
||||
{ -- Snacks Picker
|
||||
import = 'lazyvim.plugins.extras.editor.snacks_picker',
|
||||
},
|
||||
{ -- IncRename
|
||||
import = 'lazyvim.plugins.extras.editor.inc-rename',
|
||||
},
|
||||
{ -- Treesitter-context
|
||||
import = 'lazyvim.plugins.extras.ui.treesitter-context',
|
||||
},
|
||||
{ -- Navic
|
||||
import = 'lazyvim.plugins.extras.editor.navic',
|
||||
},
|
||||
{ -- Refactoring
|
||||
import = 'lazyvim.plugins.extras.editor.refactoring',
|
||||
},
|
||||
{ -- Octo plugin
|
||||
import = 'lazyvim.plugins.extras.util.octo',
|
||||
},
|
||||
{ -- JSON
|
||||
import = 'lazyvim.plugins.extras.lang.json',
|
||||
},
|
||||
{ -- Markdown
|
||||
import = 'lazyvim.plugins.extras.lang.markdown',
|
||||
},
|
||||
{ -- Toml
|
||||
import = 'lazyvim.plugins.extras.lang.toml',
|
||||
},
|
||||
{ -- Git
|
||||
import = 'lazyvim.plugins.extras.lang.git',
|
||||
},
|
||||
{ -- Python
|
||||
import = 'lazyvim.plugins.extras.lang.python',
|
||||
},
|
||||
{ -- Yaml
|
||||
import = 'lazyvim.plugins.extras.lang.yaml',
|
||||
},
|
||||
{ -- clangd
|
||||
import = 'lazyvim.plugins.extras.lang.clangd',
|
||||
},
|
||||
{ -- cmake
|
||||
import = 'lazyvim.plugins.extras.lang.cmake',
|
||||
},
|
||||
{ -- Docker
|
||||
import = 'lazyvim.plugins.extras.lang.docker',
|
||||
},
|
||||
{ -- Java
|
||||
import = 'lazyvim.plugins.extras.lang.java',
|
||||
},
|
||||
{ -- Sql
|
||||
import = 'lazyvim.plugins.extras.lang.sql',
|
||||
},
|
||||
{ -- Rust
|
||||
import = 'lazyvim.plugins.extras.lang.rust',
|
||||
},
|
||||
-- { -- Mini.Indentscope
|
||||
-- import = 'lazyvim.plugins.extras.ui.mini-indentscope',
|
||||
-- },
|
||||
{ -- mini.files
|
||||
import = 'lazyvim.plugins.extras.editor.mini-files',
|
||||
},
|
||||
{ -- snacks.picker
|
||||
import = 'lazyvim.plugins.extras.editor.snacks_picker',
|
||||
},
|
||||
{ -- snacks.explorer
|
||||
import = 'lazyvim.plugins.extras.editor.snacks_explorer',
|
||||
},
|
||||
{ -- Fzf-Lua
|
||||
import = 'lazyvim.plugins.extras.editor.fzf',
|
||||
cond = function()
|
||||
return require('data.func').check_global_var('use_fzf_lua', true, false)
|
||||
end,
|
||||
},
|
||||
{ -- Chezmoi
|
||||
import = 'lazyvim.plugins.extras.util.chezmoi',
|
||||
},
|
||||
{ -- Dotfiles plugins
|
||||
import = 'lazyvim.plugins.extras.util.dot',
|
||||
},
|
||||
{ -- Blink completion
|
||||
import = 'lazyvim.plugins.extras.coding.blink',
|
||||
cond = function()
|
||||
return vim.g.useblinkcmp
|
||||
end,
|
||||
},
|
||||
{ -- Nvim-cmp
|
||||
import = 'lazyvim.plugins.extras.coding.nvim-cmp',
|
||||
cond = function()
|
||||
return not vim.g.useblinkcmp
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,203 @@
|
||||
--[[
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ Options │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
--]]
|
||||
|
||||
---- Copyright (C) 2026 Rootiest
|
||||
-- SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Basic Options │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- Set leader keys before any other configuration
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = "\\"
|
||||
|
||||
-- Indentation
|
||||
vim.opt.tabstop = 2 -- Tab width in spaces
|
||||
vim.opt.shiftwidth = 2 -- Indent width for >> and auto-indent
|
||||
vim.opt.expandtab = true -- Use spaces instead of tabs
|
||||
|
||||
-- Performance and UI defaults
|
||||
vim.opt.updatetime = 200 -- Faster completion and CursorHold events
|
||||
vim.opt.autowrite = true -- Enable auto write
|
||||
vim.opt.number = true -- Show line numbers
|
||||
vim.opt.relativenumber = true -- Relative line numbers
|
||||
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Sessions and Saving │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- Persistent undo across sessions
|
||||
vim.opt.undofile = true
|
||||
|
||||
-- Autowrite/Autosave
|
||||
-- This ensures changes are saved on every buffer change or when leaving insert mode.
|
||||
vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, {
|
||||
group = vim.api.nvim_create_augroup("autosave", { clear = true }),
|
||||
pattern = { "*" },
|
||||
callback = function()
|
||||
local buftype = vim.api.nvim_get_option_value("buftype", { buf = 0 })
|
||||
if buftype == "" and vim.bo.modified then
|
||||
vim.cmd("silent! update")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Automatically reload files changed outside of Neovim
|
||||
vim.opt.autoread = true
|
||||
|
||||
-- Auto-reload Triggers
|
||||
-- Reload when focus is gained or when the cursor is idle
|
||||
vim.api.nvim_create_autocmd({ "FocusGained", "CursorHold" }, {
|
||||
group = vim.api.nvim_create_augroup("autoread_on_focus", { clear = true }),
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
-- Only if the buffer is not modified, to avoid losing unsaved changes
|
||||
if vim.bo.modified == false then
|
||||
vim.cmd("checktime")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Format Function
|
||||
-- Formats the entire buffer by default,
|
||||
-- but if a range is provided (e.g., via visual selection),
|
||||
-- it formats only that range.
|
||||
vim.api.nvim_create_user_command("Format", function(args)
|
||||
local range = nil
|
||||
if args.count ~= -1 then
|
||||
local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1]
|
||||
range = {
|
||||
start = { args.line1, 0 },
|
||||
["end"] = { args.line2, end_line:len() },
|
||||
}
|
||||
end
|
||||
require("conform").format({ async = true, lsp_format = "fallback", range = range })
|
||||
end, { range = true })
|
||||
|
||||
-- FormatOnSave
|
||||
-- Formats the buffer before saving.
|
||||
-- This is a common practice to ensure code is consistently formatted.
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
-- Call Format function
|
||||
vim.api.nvim_command("Format")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Return to last-known cursor position when reopening files
|
||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
||||
desc = "Jump to last known cursor position on open",
|
||||
pattern = "*",
|
||||
callback = function()
|
||||
local last_pos = vim.fn.line("'\"")
|
||||
if last_pos > 1 and last_pos <= vim.fn.line("$") then
|
||||
vim.cmd('normal! g`\"')
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Root Management │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- Automatically change the working directory to the project root.
|
||||
-- This ensures that plugins like Snacks.picker and GrugFar work
|
||||
-- relative to the file or project you are currently editing.
|
||||
vim.api.nvim_create_autocmd("BufEnter", {
|
||||
group = vim.api.nvim_create_augroup("buffer_auto_cd", { clear = true }),
|
||||
callback = function()
|
||||
local path = vim.api.nvim_buf_get_name(0)
|
||||
if path == "" then
|
||||
return
|
||||
end
|
||||
|
||||
-- Skip special buffers, but allow directory buffers (for explorer support)
|
||||
if vim.bo.buftype ~= "" and vim.bo.filetype ~= "snacks_explorer_tree" then
|
||||
return
|
||||
end
|
||||
|
||||
-- Get the directory (handle both files and directory paths)
|
||||
local dir = vim.fn.isdirectory(path) == 1 and path or vim.fn.fnamemodify(path, ":p:h")
|
||||
|
||||
-- Find the project root using common markers, fallback to the directory itself
|
||||
local root = vim.fs.root(dir, { ".git", "lua", "package.json", "go.mod", "Cargo.toml", "Makefile" }) or dir
|
||||
|
||||
-- Change directory if it's different and valid
|
||||
if root and vim.fn.isdirectory(root) == 1 and root ~= vim.fn.getcwd() then
|
||||
vim.fn.chdir(root)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Grug-far QoL: Close with 'q'
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = vim.api.nvim_create_augroup("grug_far_q_to_close", { clear = true }),
|
||||
pattern = "grug-far",
|
||||
callback = function(args)
|
||||
vim.keymap.set("n", "q", "<cmd>close<cr>", { buffer = args.buf, silent = true, desc = "Close Grug-far" })
|
||||
end,
|
||||
})
|
||||
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Shell Interaction │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
-- Detect terminal environment
|
||||
local is_kitty = os.getenv("KITTY_PID") ~= nil
|
||||
local current_shell = os.getenv("SHELL") or "/bin/sh"
|
||||
local shell_name = current_shell:match("([^/]+)$") or "sh"
|
||||
|
||||
-- Terminal Title Management
|
||||
local title_group = vim.api.nvim_create_augroup("TerminalTitle", { clear = true })
|
||||
|
||||
-- Helper function to update the terminal title
|
||||
local function set_terminal_title(title)
|
||||
-- If in Kitty, we use the direct escape sequence as it's reliable
|
||||
if is_kitty then
|
||||
io.stdout:write("\27]2;" .. title .. "\7")
|
||||
-- Fallback: Use Neovim's built-in title management for other terminals
|
||||
-- (Standard OSC 2 sequences are supported by most, but opt.title is safer)
|
||||
elseif os.getenv("TERM") ~= "linux" then
|
||||
vim.opt.title = true
|
||||
vim.opt.titlestring = title
|
||||
end
|
||||
end
|
||||
|
||||
-- Terminal title updates on buffer enter and window enter
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter" }, {
|
||||
group = title_group,
|
||||
callback = function()
|
||||
local buftype = vim.bo.buftype
|
||||
local filetype = vim.bo.filetype
|
||||
local filename = vim.fn.expand("%:t")
|
||||
|
||||
-- 1. Specifically catch Snacks Terminal or standard Terminals
|
||||
if filetype == "snacks_terminal" or buftype == "terminal" then
|
||||
set_terminal_title("NVIM: Terminal")
|
||||
|
||||
-- 2. Handle normal files (buftype is empty)
|
||||
elseif buftype == "" and filename ~= "" then
|
||||
set_terminal_title("NVIM: " .. filename)
|
||||
|
||||
-- 3. Handle the empty start screen
|
||||
elseif filename == "" and buftype == "" then
|
||||
set_terminal_title("Neovim")
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Reset the title back to the shell name when you quit Neovim
|
||||
vim.api.nvim_create_autocmd("VimLeave", {
|
||||
group = title_group,
|
||||
callback = function()
|
||||
-- On leave, direct stdout is more reliable than setting an option
|
||||
if is_kitty or os.getenv("TERM") ~= "linux" then
|
||||
io.stdout:write("\27]2;" .. shell_name .. "\7")
|
||||
end
|
||||
end,
|
||||
})
|
||||
@@ -0,0 +1,612 @@
|
||||
--[[
|
||||
┌────────────────────────────────────────────────────────────────┐
|
||||
│ Plugins │
|
||||
└────────────────────────────────────────────────────────────────┘
|
||||
--]]
|
||||
|
||||
---- Copyright (C) 2026 Rootiest
|
||||
-- SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
-- Catppuccin.nvim
|
||||
-- Eagerly load the colorscheme plugin.
|
||||
vim.pack.add({ { src = "https://github.com/catppuccin/nvim", name = "catppuccin" } })
|
||||
|
||||
-- Catppuccin Config
|
||||
Config.plugins.catppuccin = {
|
||||
flavour = "mocha",
|
||||
}
|
||||
vim.cmd.colorscheme("catppuccin")
|
||||
|
||||
-- Snacks.nvim
|
||||
-- Eagerly load snacks for dashboard and performance features.
|
||||
vim.pack.add({ { src = "https://github.com/folke/snacks.nvim", name = "snacks" } })
|
||||
|
||||
-- Snacks-tea.nvim
|
||||
-- Gitea/Forgejo extension for Snacks (adds Snacks.tea, the PR picker/buffer
|
||||
-- UI). Wraps the `tea` CLI, must be on the runtimepath before snacks.setup().
|
||||
vim.pack.add({ { src = "https://github.com/sbulav/snacks-tea.nvim", name = "snacks-tea" } })
|
||||
|
||||
-- Snacks Config
|
||||
-- Store opts in the registry first.
|
||||
Config.plugins.snacks = {
|
||||
bigfile = { enabled = true },
|
||||
dashboard = {
|
||||
enabled = true,
|
||||
sections = {
|
||||
{ section = "header" },
|
||||
{ section = "keys", gap = 1, padding = 1 },
|
||||
},
|
||||
preset = {
|
||||
header = require("const").header,
|
||||
},
|
||||
},
|
||||
explorer = { enabled = true },
|
||||
indent = { enabled = true },
|
||||
input = { enabled = true },
|
||||
picker = {
|
||||
enabled = true,
|
||||
matcher = {
|
||||
fuzzy = true,
|
||||
smartcase = true,
|
||||
ignorecase = true,
|
||||
sort_empty = false,
|
||||
filename_bonus = true,
|
||||
file_pos = true,
|
||||
cwd_bonus = true,
|
||||
frecency = true,
|
||||
history_bonus = true,
|
||||
},
|
||||
win = {
|
||||
input = {
|
||||
keys = {
|
||||
["<a-s>"] = { "flash", mode = { "n", "i" } },
|
||||
["s"] = { "flash" },
|
||||
["<a-a>"] = { "sidekick_send", mode = { "n", "i" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
actions = {
|
||||
flash = function(picker)
|
||||
require("flash").jump({
|
||||
pattern = "^",
|
||||
label = { after = { 0, 0 } },
|
||||
search = {
|
||||
mode = "search",
|
||||
exclude = {
|
||||
function(win)
|
||||
return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list"
|
||||
end,
|
||||
},
|
||||
},
|
||||
action = function(match)
|
||||
local idx = picker.list:row2idx(match.pos[1])
|
||||
picker.list:_move(idx, true, true)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
sidekick_send = function(...)
|
||||
return require("sidekick.cli.picker.snacks").send(...)
|
||||
end,
|
||||
},
|
||||
},
|
||||
notifier = { enabled = true },
|
||||
quickfile = { enabled = true },
|
||||
scope = { enabled = true },
|
||||
scratch = { enabled = true },
|
||||
scroll = { enabled = true },
|
||||
statuscolumn = { enabled = true },
|
||||
tea = {
|
||||
enabled = true,
|
||||
tea = {
|
||||
cmd = "tea", -- Path to tea binary
|
||||
login = nil, -- Specific login to use (nil = auto-detect)
|
||||
remote = "origin", -- Git remote to use
|
||||
},
|
||||
},
|
||||
terminal = {
|
||||
enabled = true,
|
||||
win = {
|
||||
keys = {
|
||||
toggle = {
|
||||
"<c-/>",
|
||||
function(self)
|
||||
self:hide()
|
||||
end,
|
||||
mode = "t",
|
||||
desc = "Toggle Terminal",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
words = { enabled = true },
|
||||
zen = { enabled = true },
|
||||
}
|
||||
|
||||
-- Setup Snacks with the registered opts.
|
||||
require("snacks").setup(Config.plugins.snacks)
|
||||
|
||||
-- Persistence.nvim
|
||||
-- Simple session management.
|
||||
vim.pack.add({ { src = "https://github.com/folke/persistence.nvim", name = "persistence" } })
|
||||
|
||||
-- Persistence Config
|
||||
Config.plugins.persistence = {
|
||||
dir = vim.fn.stdpath("state") .. "/sessions/",
|
||||
need = 1,
|
||||
branch = true,
|
||||
}
|
||||
require("persistence").setup(Config.plugins.persistence)
|
||||
|
||||
-- Lazy-loaded Plugins
|
||||
local lazyload = require("lazyload")
|
||||
|
||||
lazyload.on_vim_enter(function()
|
||||
-- Gitsigns.nvim
|
||||
vim.pack.add({ { src = "https://github.com/lewis6991/gitsigns.nvim", name = "gitsigns" } })
|
||||
require("gitsigns").setup({
|
||||
numhl = false,
|
||||
signcolumn = true,
|
||||
current_line_blame = true, -- Required for the statusline variable to update
|
||||
current_line_blame_opts = {
|
||||
virt_text = false, -- Disable virtual text as we'll use the statusline
|
||||
},
|
||||
})
|
||||
|
||||
-- Treesitter Context
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/nvim-treesitter/nvim-treesitter-context", name = "nvim-treesitter-context" },
|
||||
})
|
||||
require("treesitter-context").setup({
|
||||
max_lines = 3,
|
||||
trim_scope = "outer",
|
||||
})
|
||||
|
||||
-- Grug-far.nvim
|
||||
vim.pack.add({ { src = "https://github.com/MagicDuck/grug-far.nvim", name = "grug-far" } })
|
||||
require("grug-far").setup()
|
||||
|
||||
-- Flash.nvim
|
||||
vim.pack.add({ { src = "https://github.com/folke/flash.nvim", name = "flash" } })
|
||||
require("flash").setup({
|
||||
modes = { char = { keys = {} } },
|
||||
keys = {},
|
||||
})
|
||||
|
||||
-- Leap.nvim
|
||||
vim.pack.add({ { src = "https://git.disroot.org/andyg/leap.nvim", name = "leap" } })
|
||||
vim.api.nvim_set_hl(0, "LeapBackdrop", { link = "Comment" })
|
||||
|
||||
-- Focusline.nvim
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/ABDsheikho/focusline.nvim" },
|
||||
})
|
||||
|
||||
require("focusline").setup({
|
||||
-- focus_target can be a line number (e.g., 15), or a ratio (e.g., 0.25, 1 / 4, "25%").
|
||||
focus_target = "30%", -- try it with 30%
|
||||
-- which motion to associate focusline with.
|
||||
with_motion = {
|
||||
"zz",
|
||||
"z,",
|
||||
"\x04", -- Ctrl+D
|
||||
"\x15", -- Ctrl+U
|
||||
},
|
||||
})
|
||||
|
||||
-- Mini.surround
|
||||
vim.pack.add({ { src = "https://github.com/echasnovski/mini.surround", name = "mini.surround" } })
|
||||
require("mini.surround").setup()
|
||||
|
||||
-- Mini.pairs
|
||||
vim.pack.add({ { src = "https://github.com/echasnovski/mini.pairs", name = "mini.pairs" } })
|
||||
require("mini.pairs").setup()
|
||||
|
||||
-- Smart backtick handling for Markdown: typing a 3rd backtick after an
|
||||
-- existing `` `` `` pair expands into a fenced code block instead of
|
||||
-- pairing into ```` ` ```` (4 backticks).
|
||||
local function attach_markdown_smart_backtick(buf)
|
||||
vim.keymap.set("i", "`", function()
|
||||
local row, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
local line = vim.api.nvim_get_current_line()
|
||||
local before, after = line:sub(1, col), line:sub(col + 1)
|
||||
local disabled = vim.g.minipairs_disable == true or vim.b.minipairs_disable == true
|
||||
|
||||
if not disabled and before:sub(-2) == "``" and after:sub(1, 1) ~= "`" then
|
||||
local prefix = before:sub(1, -3)
|
||||
local indent = prefix:match("^%s*")
|
||||
vim.api.nvim_set_current_line(prefix .. "```")
|
||||
vim.api.nvim_buf_set_lines(0, row, row, false, { indent .. "```" .. after })
|
||||
vim.api.nvim_win_set_cursor(0, { row, #prefix + 3 })
|
||||
return
|
||||
end
|
||||
|
||||
local keys = MiniPairs.closeopen("``", "^[^\\]")
|
||||
vim.api.nvim_feedkeys(keys, "in", false)
|
||||
end, { buffer = buf, desc = "Smart Markdown backtick / code fence" })
|
||||
|
||||
-- Deleting the opening fence's last backtick also removes the untouched
|
||||
-- closing fence line it created, so undoing a fence is a clean backspace.
|
||||
vim.keymap.set("i", "<BS>", function()
|
||||
local row, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
local line = vim.api.nvim_get_current_line()
|
||||
local before, after = line:sub(1, col), line:sub(col + 1)
|
||||
local disabled = vim.g.minipairs_disable == true or vim.b.minipairs_disable == true
|
||||
|
||||
if not disabled and before:sub(-1) == "`" and before:sub(-2, -2) ~= "`" then
|
||||
local prefix = before:sub(1, -2)
|
||||
local indent = prefix:match("^%s*")
|
||||
local next_line = vim.api.nvim_buf_get_lines(0, row, row + 1, false)[1]
|
||||
if next_line == indent .. "```" then
|
||||
vim.api.nvim_buf_set_lines(0, row, row + 1, false, {})
|
||||
vim.api.nvim_set_current_line(prefix .. after)
|
||||
vim.api.nvim_win_set_cursor(0, { row, #prefix })
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
local keys = MiniPairs.bs()
|
||||
vim.api.nvim_feedkeys(keys, "in", false)
|
||||
end, { buffer = buf, desc = "Smart Markdown fence backspace" })
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = vim.api.nvim_create_augroup("markdown_smart_backtick", { clear = true }),
|
||||
pattern = "markdown",
|
||||
desc = "Expand `` ` `` pair into a fenced code block on 3rd backtick",
|
||||
callback = function(args)
|
||||
attach_markdown_smart_backtick(args.buf)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Catch buffers that already had their FileType event fire before this
|
||||
-- deferred setup ran (e.g. `nvim file.md` opened directly at startup).
|
||||
for _, buf in ipairs(vim.api.nvim_list_bufs()) do
|
||||
if vim.bo[buf].filetype == "markdown" then
|
||||
attach_markdown_smart_backtick(buf)
|
||||
end
|
||||
end
|
||||
|
||||
-- Gx.nvim
|
||||
vim.pack.add({ { src = "https://github.com/chrishrb/gx.nvim", name = "gx" } })
|
||||
---@diagnostic disable-next-line: missing-fields
|
||||
require("gx").setup({
|
||||
handlers = {
|
||||
plugin = true,
|
||||
github = true,
|
||||
package_json = true,
|
||||
search = true,
|
||||
},
|
||||
})
|
||||
|
||||
-- Comment-box.nvim
|
||||
vim.pack.add({ { src = "https://github.com/LudoPinelli/comment-box.nvim", name = "comment-box" } })
|
||||
require("comment-box").setup()
|
||||
|
||||
-- Undotree
|
||||
vim.g.undotree_ShortIndicators = 0
|
||||
vim.g.undotree_SplitWidth = 32
|
||||
vim.g.undotree_SetFocusWhenToggle = 1
|
||||
vim.g.undotree_TreeNodeShape = ""
|
||||
vim.g.undotree_TreeVertShape = ""
|
||||
vim.g.undotree_TreeSplitShape = ""
|
||||
vim.g.undotree_TreeReturnShape = ""
|
||||
vim.g.undotree_HelpLine = 0
|
||||
vim.g.undotree_DiffAutoOpen = 0
|
||||
vim.pack.add({ { src = "https://github.com/mbbill/undotree", name = "undotree" } })
|
||||
|
||||
-- Conform.nvim
|
||||
vim.pack.add({ { src = "https://github.com/stevearc/conform.nvim", name = "conform" } })
|
||||
Config.plugins.conform = {
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
c = { "clang-format" },
|
||||
cpp = { "clang-format" },
|
||||
rust = { "rustfmt" },
|
||||
python = { "ruff_format" },
|
||||
fish = { "fish_indent" },
|
||||
sh = { "shfmt" },
|
||||
bash = { "shfmt" },
|
||||
},
|
||||
format_on_save = function(bufnr)
|
||||
-- Disable with a global or buffer-local variable
|
||||
if vim.g.disable_autoformat or vim.b[bufnr].disable_autoformat then
|
||||
return
|
||||
end
|
||||
return { timeout_ms = 500, lsp_format = "fallback" }
|
||||
end,
|
||||
}
|
||||
require("conform").setup(Config.plugins.conform)
|
||||
|
||||
-- Which-key.nvim
|
||||
vim.pack.add({ { src = "https://github.com/folke/which-key.nvim", name = "which-key" } })
|
||||
require("which-key").setup()
|
||||
|
||||
-- Lazydev.nvim (Neovim Lua type definitions for lua_ls)
|
||||
vim.pack.add({ { src = "https://github.com/folke/lazydev.nvim", name = "lazydev" } })
|
||||
require("lazydev").setup({
|
||||
library = {
|
||||
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
{ path = "snacks.nvim", words = { "Snacks" } },
|
||||
},
|
||||
})
|
||||
|
||||
-- LSP Support
|
||||
vim.pack.add({ { src = "https://github.com/williamboman/mason.nvim", name = "mason" } })
|
||||
vim.pack.add({ { src = "https://github.com/williamboman/mason-lspconfig.nvim", name = "mason-lspconfig" } })
|
||||
vim.pack.add({ { src = "https://github.com/neovim/nvim-lspconfig", name = "nvim-lspconfig" } })
|
||||
|
||||
require("mason").setup()
|
||||
|
||||
-- Completion (Blink.cmp)
|
||||
-- We check if the binary exists or if cargo is available to build it.
|
||||
-- If neither, we skip loading to avoid errors.
|
||||
local blink_path = vim.fn.stdpath("data") .. "/site/pack/core/opt/blink.cmp"
|
||||
local has_blink_bin =
|
||||
-- Check v2 location (most likely where it is now)
|
||||
vim.fn.filereadable(blink_path .. "/lua/blink/cmp/lib/libblink_cmp_fuzzy.so") == 1
|
||||
-- Check v1/Cargo location (fallback)
|
||||
or vim.fn.filereadable(blink_path .. "/target/release/libblink_cmp_fuzzy.so") == 1
|
||||
-- Check macOS/Windows extensions
|
||||
or vim.fn.filereadable(blink_path .. "/target/release/libblink_cmp_fuzzy.dylib") == 1
|
||||
or vim.fn.filereadable(blink_path .. "/target/release/libblink_cmp_fuzzy.dll") == 1
|
||||
|
||||
local has_cargo = vim.fn.executable("cargo") == 1
|
||||
|
||||
if has_blink_bin or has_cargo then
|
||||
-- 1. Add blink.lib first as it's a dependency for blink.cmp
|
||||
vim.pack.add({ { src = "https://github.com/saghen/blink.lib", name = "blink.lib" } })
|
||||
|
||||
-- 2. Add blink.cmp and other sources
|
||||
vim.pack.add({ { src = "https://github.com/saghen/blink.cmp", name = "blink.cmp" } })
|
||||
vim.pack.add({ { src = "https://github.com/rafamadriz/friendly-snippets", name = "friendly-snippets" } })
|
||||
vim.pack.add({ { src = "https://github.com/fang2hou/blink-copilot", name = "blink-copilot" } })
|
||||
|
||||
-- 3. Blink.cmp setup
|
||||
local cmp = require('blink.cmp')
|
||||
cmp.build():wait(60000)
|
||||
cmp.setup({
|
||||
keymap = {
|
||||
preset = "default",
|
||||
["<Tab>"] = {
|
||||
"snippet_forward",
|
||||
function()
|
||||
return require("sidekick").nes_jump_or_apply()
|
||||
end,
|
||||
function()
|
||||
return vim.lsp.inline_completion.get()
|
||||
end,
|
||||
"fallback",
|
||||
},
|
||||
},
|
||||
appearance = {
|
||||
use_nvim_cmp_as_default = true,
|
||||
nerd_font_variant = "mono",
|
||||
kind_icons = { Copilot = "" },
|
||||
},
|
||||
sources = {
|
||||
default = { "lsp", "path", "snippets", "buffer", "copilot" },
|
||||
providers = {
|
||||
copilot = {
|
||||
name = "copilot",
|
||||
module = "blink-copilot",
|
||||
kind = "lsp",
|
||||
server_name = "copilot",
|
||||
score_offset = 100,
|
||||
async = true,
|
||||
opts = {
|
||||
max_completions = 3,
|
||||
max_attempts = 4,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
signature = { enabled = true },
|
||||
})
|
||||
else
|
||||
vim.notify("blink.cmp: binary not found and cargo not installed. Completion disabled.", vim.log.levels.WARN)
|
||||
end
|
||||
|
||||
-- Autocmd to build blink.cmp after plugin installation or update
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "PackChanged", -- This triggers after vim.pack.update() finishes
|
||||
callback = function()
|
||||
-- Check if blink is actually installed before trying to build
|
||||
local status, blink = pcall(require, "blink.cmp")
|
||||
if status then
|
||||
vim.notify("Blink.cmp: Building native library...", vim.log.levels.INFO)
|
||||
---@diagnostic disable-next-line: undefined-field
|
||||
blink.build():wait(60000)
|
||||
vim.notify("Blink.cmp: Build complete.", vim.log.levels.INFO)
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
local lspconfig = require("lspconfig")
|
||||
local capabilities = (has_blink_bin or has_cargo) and require("blink.cmp").get_lsp_capabilities() or nil
|
||||
|
||||
vim.lsp.config("rust_analyzer", {
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
check = {
|
||||
command = "clippy",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"lua_ls",
|
||||
"clangd",
|
||||
"rust_analyzer",
|
||||
"pyright",
|
||||
"fish_lsp",
|
||||
"bashls",
|
||||
"copilot",
|
||||
},
|
||||
handlers = {
|
||||
-- Default handler
|
||||
function(server_name)
|
||||
lspconfig[server_name].setup({ capabilities = capabilities })
|
||||
end,
|
||||
-- Specific overrides
|
||||
["lua_ls"] = function()
|
||||
lspconfig.lua_ls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = { globals = { "Config" } },
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
["rust_analyzer"] = function()
|
||||
lspconfig.rust_analyzer.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
check = {
|
||||
command = "clippy",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
})
|
||||
|
||||
-- Enable native inline completion (ghost text in insert mode)
|
||||
vim.lsp.inline_completion.enable()
|
||||
|
||||
-- Mini.ai
|
||||
vim.pack.add({ { src = "https://github.com/echasnovski/mini.ai", name = "mini.ai" } })
|
||||
|
||||
Config.plugins.mini_ai = {
|
||||
custom_textobjects = {
|
||||
g = function()
|
||||
local n_lines = vim.api.nvim_buf_line_count(0)
|
||||
return {
|
||||
from = { line = 1, col = 1 },
|
||||
---@diagnostic disable-next-line: undefined-field
|
||||
to = { line = n_lines, col = math.max(vim.fn.getline(n_lines):len(), 1) },
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
||||
require("mini.ai").setup(Config.plugins.mini_ai)
|
||||
|
||||
-- Icons
|
||||
vim.pack.add({ { src = "https://github.com/nvim-tree/nvim-web-devicons", name = "nvim-web-devicons" } })
|
||||
|
||||
-- Lualine
|
||||
vim.pack.add({ { src = "https://github.com/nvim-lualine/lualine.nvim", name = "lualine" } })
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
theme = "auto",
|
||||
globalstatus = true,
|
||||
},
|
||||
sections = {
|
||||
lualine_b = { "branch", "diff", "diagnostics" },
|
||||
lualine_c = {
|
||||
{ "filename" },
|
||||
{
|
||||
function()
|
||||
return vim.b.gitsigns_blame_line or ""
|
||||
end,
|
||||
cond = function()
|
||||
return vim.b.gitsigns_blame_line ~= nil and vim.b.gitsigns_blame_line ~= ""
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Inc-rename.nvim
|
||||
vim.pack.add({ { src = "https://github.com/smjonas/inc-rename.nvim", name = "inc-rename" } })
|
||||
require("inc_rename").setup({
|
||||
-- the name of the command
|
||||
cmd_name = "IncRename",
|
||||
-- the highlight group used for highlighting the identifier's new name
|
||||
hl_group = "Substitute",
|
||||
-- whether an empty new name should be previewed; if false the command preview will be cancelled instead
|
||||
preview_empty_name = false,
|
||||
-- whether to display a `Renamed m instances in n files` message after a rename operation
|
||||
show_message = true,
|
||||
-- whether to save the "IncRename" command in the commandline history (set to false to prevent issues with
|
||||
-- navigating to older entries that may arise due to the behavior of command preview)
|
||||
save_in_cmdline_history = true,
|
||||
-- the type of the external input buffer to use (currently supports "dressing" or "snacks")
|
||||
input_buffer_type = nil,
|
||||
-- callback to run after renaming, receives the result table (from LSP handler) as an argument
|
||||
post_hook = nil,
|
||||
})
|
||||
|
||||
-- Qalc
|
||||
vim.pack.add({ { src = "https://github.com/Apeiros-46B/qalc.nvim", name = "qalc" } })
|
||||
|
||||
-- Noice dependencies
|
||||
vim.pack.add({ { src = "https://github.com/MunifTanjim/nui.nvim", name = "nui" } })
|
||||
|
||||
-- Noice.nvim
|
||||
vim.pack.add({ { src = "https://github.com/folke/noice.nvim", name = "noice" } })
|
||||
require("noice").setup({
|
||||
lsp = {
|
||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||
override = {
|
||||
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
["vim.lsp.util.set_autocmds"] = true,
|
||||
["vim.ui.codelens.display_inline"] = true,
|
||||
},
|
||||
},
|
||||
-- you can enable a preset for easier configuration
|
||||
presets = {
|
||||
bottom_search = true, -- use a classic bottom cmdline for search
|
||||
command_palette = true, -- position the cmdline and popupmenu together
|
||||
long_message_to_split = true, -- long messages will be sent to a split
|
||||
inc_rename = true, -- enables an input dialog for inc-rename.nvim
|
||||
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
},
|
||||
routes = {
|
||||
{
|
||||
filter = { event = "lsp", kind = "progress", find = "Loading workspace" },
|
||||
opts = { skip = true },
|
||||
},
|
||||
{
|
||||
filter = { event = "lsp", kind = "progress", find = "^Diagnosing" },
|
||||
opts = { skip = true },
|
||||
},
|
||||
{
|
||||
filter = { event = "lsp", kind = "progress", find = "semantic tokens" },
|
||||
opts = { skip = true },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Kitty Scrollback
|
||||
vim.pack.add({ { src = "https://github.com/mikesmithgh/kitty-scrollback.nvim", name = "kitty-scrollback" } })
|
||||
Config.plugins.kitty_scrollback = {}
|
||||
require("kitty-scrollback").setup(Config.plugins.kitty_scrollback)
|
||||
|
||||
-- Haunt.nvim
|
||||
vim.pack.add({ { src = "https://github.com/TheNoeTrevino/haunt.nvim", name = "haunt" } })
|
||||
Config.plugins.haunt = {
|
||||
picker = "snacks",
|
||||
}
|
||||
require("haunt").setup(Config.plugins.haunt)
|
||||
|
||||
-- Sidekick.nvim
|
||||
vim.pack.add({ { src = "https://github.com/folke/sidekick.nvim", name = "sidekick" } })
|
||||
Config.plugins.sidekick = {
|
||||
cli = {
|
||||
prompts = {
|
||||
haunt_all = function()
|
||||
return require("haunt.sidekick").get_locations()
|
||||
end,
|
||||
haunt_buffer = function()
|
||||
return require("haunt.sidekick").get_locations({ current_buffer = true })
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
require("sidekick").setup(Config.plugins.sidekick)
|
||||
end)
|
||||
@@ -1,67 +0,0 @@
|
||||
---@module "plugins.ai"
|
||||
--- This module defines the AI plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ AI Tools │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Neocodeium
|
||||
'monkoose/neocodeium',
|
||||
event = 'VeryLazy',
|
||||
opts = require('data.types').neocodeium.opts,
|
||||
keys = require('data.keys').neocodeium,
|
||||
cond = require('data.cond').neocodeium,
|
||||
dependencies = { 'hrsh7th/nvim-cmp' },
|
||||
},
|
||||
{ -- Minuet-AI
|
||||
'milanglacier/minuet-ai.nvim',
|
||||
dependencies = require('data.deps').minuet,
|
||||
opts = { provider = 'openai' },
|
||||
cond = require('data.cond').minuet,
|
||||
},
|
||||
{ -- ChatGPT
|
||||
'jackMort/ChatGPT.nvim',
|
||||
event = 'VeryLazy',
|
||||
cond = require('data.cond').chatgpt,
|
||||
keys = require('data.keys').chatgpt.func,
|
||||
opts = require('data.types').chatgpt,
|
||||
dependencies = require('data.deps').chatgpt,
|
||||
},
|
||||
{ -- GP
|
||||
'robitx/gp.nvim',
|
||||
cond = require('data.cond').gp,
|
||||
lazy = false,
|
||||
opts = require('data.types').gp,
|
||||
keys = require('data.keys').gp.func,
|
||||
},
|
||||
{ -- Code-Companion
|
||||
'olimorris/codecompanion.nvim',
|
||||
dependencies = require('data.deps').codecompanion,
|
||||
opts = require('data.types').codecompanion.opts,
|
||||
cond = require('data.cond').codecompanion,
|
||||
cmd = require('data.cmd').codecompanion,
|
||||
},
|
||||
{ -- Codeium
|
||||
'Exafunction/codeium.vim',
|
||||
cond = require('data.cond').codeium,
|
||||
lazy = true,
|
||||
opts = require('data.types').codeium,
|
||||
keys = require('data.keys').codeium,
|
||||
dependencies = require('data.deps').codeium,
|
||||
},
|
||||
{ -- Avante
|
||||
'yetone/avante.nvim',
|
||||
cond = require('data.cond').avante,
|
||||
lazy = true,
|
||||
opts = require('data.types').avante,
|
||||
build = 'make',
|
||||
dependencies = require('data.deps').avante,
|
||||
keys = function()
|
||||
-- Add keymaps for Avante group
|
||||
for _, item in ipairs(require('data.keys').group.avante) do
|
||||
require('data.func').add_keymap(item)
|
||||
end
|
||||
end,
|
||||
cmd = 'Avante',
|
||||
},
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
--- @module "plugins.astral"
|
||||
--- This module defines the astral plugin spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Astral Plugin │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return { -- Astral
|
||||
'rootiest/astral.nvim',
|
||||
version = '*', -- Pin to GitHub releases
|
||||
enabled = require('data.func').check_global_var('use_astral', true, true),
|
||||
opts = {
|
||||
fallback_themes = {
|
||||
'catppuccin-macchiato',
|
||||
'catppuccin-frappe',
|
||||
'tokyonight',
|
||||
'kanagawa',
|
||||
'monochrome',
|
||||
'default',
|
||||
},
|
||||
},
|
||||
dev = vim.g.rootiest_dev or false, -- Use local codebase
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Auto-Save │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Auto-save
|
||||
'okuuva/auto-save.nvim',
|
||||
cmd = require('data.cmd').autosave,
|
||||
event = { 'InsertLeave', 'TextChanged' },
|
||||
opts = require('data.types').autosave,
|
||||
cond = require('data.cond').autosave,
|
||||
keys = require('data.keys').autosave,
|
||||
},
|
||||
}
|
||||
@@ -1,400 +0,0 @@
|
||||
--- @module "plugins.cmp"
|
||||
--- This module defines the cmp plugin spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Auto Completion │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local perf = vim.g.cmp_performance_enabled or false
|
||||
--- Function to return the cmp provider
|
||||
---@param performance? boolean Whether to use the experimental cmp performance fork
|
||||
---@return table provider The cmp provider spec
|
||||
local function cmp_provider(performance)
|
||||
if performance then
|
||||
return {
|
||||
-- Experiemental cmp performance fork
|
||||
url = 'https://github.com/iguanacucumber/magazine.nvim',
|
||||
}
|
||||
else
|
||||
return {
|
||||
-- Classic cmp
|
||||
url = 'hrsh7th/nvim-cmp',
|
||||
dev = false,
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
local cmp_repo = cmp_provider(perf)
|
||||
|
||||
if vim.g.useblinkcmp then
|
||||
if vim.g.cmp_performance_enabled then
|
||||
vim.g.lazyvim_blink_main = true
|
||||
end
|
||||
|
||||
return { -- Blink.cmp
|
||||
{ -- Overide the lazy-load event to include CmdlineEnter
|
||||
'saghen/blink.cmp',
|
||||
event = { 'InsertEnter', 'CmdlineEnter' },
|
||||
},
|
||||
{ -- Load blink.cmp configuration
|
||||
'saghen/blink.cmp',
|
||||
dependencies = {
|
||||
'mikavilpas/blink-ripgrep.nvim',
|
||||
'archie-judd/blink-cmp-words',
|
||||
},
|
||||
opts = {
|
||||
enabled = function()
|
||||
return not vim.tbl_contains({ 'minifiles' }, vim.bo.filetype)
|
||||
and vim.bo.buftype ~= 'prompt'
|
||||
and vim.b.completion ~= false
|
||||
end,
|
||||
completion = {
|
||||
menu = {
|
||||
auto_show = function(ctx)
|
||||
if vim.g.cmp_auto_show ~= false then
|
||||
return ctx.mode ~= 'cmdline'
|
||||
or not vim.tbl_contains({ '/', '?' }, vim.fn.getcmdtype())
|
||||
end
|
||||
return false
|
||||
end,
|
||||
},
|
||||
list = {
|
||||
selection = {
|
||||
preselect = function(ctx)
|
||||
return ctx.mode ~= 'cmdline'
|
||||
and not require('blink.cmp').snippet_active({ direction = 1 })
|
||||
end,
|
||||
auto_insert = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
snippets = {
|
||||
preset = 'luasnip',
|
||||
},
|
||||
fuzzy = {
|
||||
implementation = 'prefer_rust',
|
||||
use_frecency = true,
|
||||
sorts = {
|
||||
'exact',
|
||||
'score',
|
||||
'sort_text',
|
||||
},
|
||||
},
|
||||
keymap = {
|
||||
preset = 'enter',
|
||||
['<C-y>'] = { 'select_and_accept' },
|
||||
['<CR>'] = { 'fallback' },
|
||||
},
|
||||
cmdline = {
|
||||
enabled = true,
|
||||
completion = {
|
||||
menu = { auto_show = true },
|
||||
ghost_text = { enabled = true },
|
||||
},
|
||||
sources = function()
|
||||
local type = vim.fn.getcmdtype()
|
||||
-- Search forward and backward
|
||||
if type == '/' or type == '?' then
|
||||
return { 'buffer' }
|
||||
end
|
||||
-- Commands
|
||||
if type == ':' or type == '@' then
|
||||
return { 'cmdline' }
|
||||
end
|
||||
return {}
|
||||
end,
|
||||
keymap = {
|
||||
preset = 'enter',
|
||||
['<C-y>'] = { 'select_and_accept' },
|
||||
['<S-Tab>'] = { 'select_prev', 'fallback' },
|
||||
['<Tab>'] = { 'select_next', 'fallback' },
|
||||
['<Enter>'] = { 'accept_and_enter', 'fallback' },
|
||||
},
|
||||
},
|
||||
sources = {
|
||||
providers = {
|
||||
cmdline = {
|
||||
min_keyword_length = function(ctx)
|
||||
-- when typing a command, only show when the keyword is 2 characters or longer
|
||||
if
|
||||
ctx.mode == 'cmdline' and string.find(ctx.line, ' ') == nil
|
||||
then
|
||||
return 2
|
||||
end
|
||||
return 0
|
||||
end,
|
||||
},
|
||||
ripgrep = {
|
||||
module = 'blink-ripgrep',
|
||||
name = 'Ripgrep',
|
||||
opts = {
|
||||
backend = {
|
||||
ripgrep = {
|
||||
search_casing = '--smart-case',
|
||||
},
|
||||
},
|
||||
},
|
||||
transform_items = function(_, items)
|
||||
for _, item in ipairs(items) do
|
||||
-- example: append a description to easily distinguish rg results
|
||||
item.labelDetails = {
|
||||
description = ' ',
|
||||
}
|
||||
end
|
||||
return items
|
||||
end,
|
||||
},
|
||||
-- Use the thesaurus source
|
||||
thesaurus = {
|
||||
name = 'blink-cmp-words',
|
||||
module = 'blink-cmp-words.thesaurus',
|
||||
-- All available options
|
||||
opts = {
|
||||
-- A score offset applied to returned items.
|
||||
-- By default the highest score is 0 (item 1 has a score of -1, item 2 of -2 etc..).
|
||||
score_offset = 0,
|
||||
|
||||
-- Default pointers define the lexical relations listed under each definition,
|
||||
-- see Pointer Symbols below.
|
||||
-- Default is as below ("antonyms", "similar to" and "also see").
|
||||
pointer_symbols = { '!', '&', '^' },
|
||||
},
|
||||
},
|
||||
-- Use the dictionary source
|
||||
dictionary = {
|
||||
name = 'blink-cmp-words',
|
||||
module = 'blink-cmp-words.dictionary',
|
||||
-- All available options
|
||||
opts = {
|
||||
-- The number of characters required to trigger completion.
|
||||
-- Set this higher if completion is slow, 3 is default.
|
||||
dictionary_search_threshold = 3,
|
||||
|
||||
-- See above
|
||||
score_offset = 0,
|
||||
|
||||
-- See above
|
||||
pointer_symbols = { '!', '&', '^' },
|
||||
},
|
||||
},
|
||||
},
|
||||
default = {
|
||||
'lsp',
|
||||
'path',
|
||||
'lazydev',
|
||||
'snippets',
|
||||
'buffer',
|
||||
'ripgrep',
|
||||
'thesaurus',
|
||||
},
|
||||
-- Setup completion by filetype
|
||||
per_filetype = {
|
||||
text = { 'dictionary' },
|
||||
markdown = { 'thesaurus' },
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = require('data.keys').blink,
|
||||
},
|
||||
{ -- Blink compat
|
||||
'saghen/blink.compat',
|
||||
optional = true, -- make optional so it's only enabled if any extras need it
|
||||
opts = {},
|
||||
version = not vim.g.lazyvim_blink_main and '*',
|
||||
},
|
||||
{ -- Catppuccin integration
|
||||
'catppuccin',
|
||||
optional = true,
|
||||
opts = {
|
||||
integrations = { blink_cmp = true },
|
||||
},
|
||||
},
|
||||
}
|
||||
end
|
||||
|
||||
-- Else use nvim-cmp
|
||||
return {
|
||||
{ -- cmp
|
||||
url = cmp_repo.url,
|
||||
build = cmp_repo.build,
|
||||
branch = cmp_repo.branch,
|
||||
dev = cmp_repo.dev,
|
||||
enabled = not vim.g.useblinkcmp,
|
||||
event = 'VeryLazy',
|
||||
dependencies = require('data.deps').cmp,
|
||||
config = function()
|
||||
local cmp = require('cmp')
|
||||
local luasnip = require('luasnip')
|
||||
cmp.event:on('menu_opened', function()
|
||||
if require('data.cond').neocodeium() == true then
|
||||
require('neocodeium').clear()
|
||||
end
|
||||
end)
|
||||
cmp.event:on('menu_closed', function()
|
||||
if require('data.cond').neocodeium() == true then
|
||||
require('neocodeium.commands').enable()
|
||||
require('neocodeium').cycle_or_complete()
|
||||
end
|
||||
end)
|
||||
local border_opts = {
|
||||
border = vim.g.completion_borders or 'rounded',
|
||||
}
|
||||
local window_opts = {
|
||||
completion = cmp.config.window.bordered(border_opts),
|
||||
documentation = cmp.config.window.bordered(border_opts),
|
||||
}
|
||||
luasnip.config.setup({})
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0
|
||||
and vim.api
|
||||
.nvim_buf_get_lines(0, line - 1, line, true)[1]
|
||||
:sub(col, col)
|
||||
:match('%s')
|
||||
== nil
|
||||
end
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
completion = { completeopt = 'menu,menuone,noinsert' },
|
||||
window = vim.g.completion_borders == 'rounded' and window_opts or {},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||
['<Up>'] = cmp.mapping.select_prev_item({
|
||||
behavior = cmp.SelectBehavior.Select,
|
||||
}),
|
||||
['<Down>'] = cmp.mapping.select_next_item({
|
||||
behavior = cmp.SelectBehavior.Select,
|
||||
}),
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-y>'] = cmp.mapping.confirm({ select = true }),
|
||||
['<C-Space>'] = cmp.mapping.complete({}),
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
-- If the completion popup is visible, select the next item
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_locally_jumpable() then
|
||||
-- If a snippet can be expanded or jump to the next location, do so
|
||||
luasnip.expand_or_jump()
|
||||
elseif vim.snippet.active({ direction = 1 }) then
|
||||
-- If a snippet is active, jump to the next location
|
||||
vim.schedule(function()
|
||||
vim.snippet.jump(1)
|
||||
end)
|
||||
elseif has_words_before() then
|
||||
-- If there are words before the cursor, complete them
|
||||
cmp.complete()
|
||||
else
|
||||
-- Otherwise, fallback to the default behavior of the Tab key
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
elseif vim.snippet.active({ direction = -1 }) then
|
||||
vim.schedule(function()
|
||||
vim.snippet.jump(-1)
|
||||
end)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
}),
|
||||
sources = {
|
||||
{ name = 'nvim_lsp', priority = 1000 },
|
||||
{ name = 'luasnip', priority = 750 },
|
||||
{ name = 'path', priority = 250 },
|
||||
{ name = 'buffer', priority = 250 },
|
||||
{ name = 'cmp_yanky' },
|
||||
{ name = 'dotenv' },
|
||||
{ name = 'calc' },
|
||||
{ name = 'conventionalcommits' },
|
||||
},
|
||||
formatting = {
|
||||
fields = { 'abbr', 'kind', 'menu' },
|
||||
expandable_indicator = true,
|
||||
format = function(entry, item)
|
||||
local custom_menu_icon = {
|
||||
calc = ' Calculator',
|
||||
math = ' Math',
|
||||
nerd = ' Glyphs',
|
||||
gitmoji = ' Gitmoji',
|
||||
emoji = ' Emoji',
|
||||
conventionalcommits = ' Commit Message',
|
||||
path = ' Path',
|
||||
buffer = ' Buffer',
|
||||
dotenv = ' Dotenv',
|
||||
cmp_yanky = ' Yanked',
|
||||
}
|
||||
local color_item = require('nvim-highlight-colors').format(
|
||||
entry,
|
||||
{ kind = item.kind }
|
||||
)
|
||||
item = require('lspkind').cmp_format({
|
||||
require('tailwind-tools.cmp').lspkind_format,
|
||||
})(entry, item)
|
||||
if color_item.abbr_hl_group then
|
||||
item.kind_hl_group = color_item.abbr_hl_group
|
||||
item.kind = color_item.abbr
|
||||
end
|
||||
-- if entry.source.name is in the custom_menu_icon table, match its icon
|
||||
if custom_menu_icon[entry.source.name] then
|
||||
item.kind = custom_menu_icon[entry.source.name]
|
||||
end
|
||||
return item
|
||||
end,
|
||||
},
|
||||
})
|
||||
-- `:` cmdline setup.
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'path' },
|
||||
}, {
|
||||
{
|
||||
name = 'cmdline',
|
||||
option = {
|
||||
ignore_cmds = { 'Man', '!' },
|
||||
},
|
||||
},
|
||||
}, { name = 'cmp-cmdline-history' }, {
|
||||
name = 'cmp-cmdline-prompt',
|
||||
}),
|
||||
})
|
||||
-- Additional setup for cmdline filetype
|
||||
cmp.setup.filetype('cmdline', {
|
||||
sources = {
|
||||
{ name = 'cmdline' }, -- Ensure 'cmdline' source is available
|
||||
{ name = 'path' },
|
||||
{ name = 'cmp-cmdline-history' },
|
||||
{ name = 'cmp-cmdline-prompt' },
|
||||
},
|
||||
})
|
||||
-- Input filetype
|
||||
cmp.setup.filetype('input', {
|
||||
sources = {},
|
||||
})
|
||||
-- Custom filetype configuration
|
||||
cmp.setup.filetype('config', {
|
||||
sources = vim.tbl_filter(function(source)
|
||||
return source.name ~= 'emoji' and source.name ~= 'gitmoji'
|
||||
end, cmp.get_config().sources),
|
||||
})
|
||||
-- List of filetypes to disable completion
|
||||
local disabled_filetypes = require('data.types').cmp
|
||||
for _, filetype in ipairs(disabled_filetypes) do
|
||||
cmp.setup.filetype(filetype, {
|
||||
sources = {},
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
--- @module "plugins.coding"
|
||||
--- This module defines the coding plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Coding │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Mason-lspconfig
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
opts = require('data.types').mason_lsp_config.opts,
|
||||
},
|
||||
{ -- nvim-treesitter
|
||||
'nvim-treesitter/nvim-treesitter',
|
||||
opts = require('data.types').treesitter.opts,
|
||||
},
|
||||
{ -- Yanky
|
||||
'gbprod/yanky.nvim',
|
||||
requires = { 'kkharji/sqlite.lua' },
|
||||
opts = require('data.types').yanky,
|
||||
keys = require('data.keys').yanky,
|
||||
},
|
||||
{ -- LazyDev
|
||||
'folke/lazydev.nvim',
|
||||
opts = require('data.types').lazydev.opts,
|
||||
dependencies = require('data.deps').lazydev,
|
||||
},
|
||||
{ -- Alternate
|
||||
'ton/vim-alternate',
|
||||
lazy = true,
|
||||
ft = require('data.types').alternate,
|
||||
keys = require('data.keys').alternate,
|
||||
},
|
||||
{ -- Tailwind
|
||||
'luckasRanarison/tailwind-tools.nvim',
|
||||
lazy = true,
|
||||
dependencies = require('data.deps').needs_treesitter,
|
||||
opts = {},
|
||||
},
|
||||
{ -- Substitute
|
||||
'gbprod/substitute.nvim',
|
||||
lazy = true,
|
||||
opts = require('data.types').substitute,
|
||||
keys = require('data.keys').substitute,
|
||||
},
|
||||
{ -- Comment
|
||||
'numToStr/Comment.nvim',
|
||||
opts = require('data.types').comment,
|
||||
},
|
||||
{ -- Matchup
|
||||
'andymass/vim-matchup',
|
||||
setup = function()
|
||||
-- may set any options here
|
||||
vim.g.matchup_matchparen_offscreen = { method = 'popup' }
|
||||
end,
|
||||
},
|
||||
{ -- EasyAlign
|
||||
'junegunn/vim-easy-align',
|
||||
lazy = true,
|
||||
keys = require('data.keys').easyalign,
|
||||
},
|
||||
{ -- TinyInlineDiagnostic
|
||||
'rachartier/tiny-inline-diagnostic.nvim',
|
||||
event = 'VeryLazy', -- Or `LspAttach`
|
||||
priority = 1000, -- needs to be loaded in first
|
||||
cond = require('data.cond').tiny_inline_diagnostic,
|
||||
config = require('data.types').tiny_inline_diagnostic.config,
|
||||
},
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
init = function() end,
|
||||
opts = {
|
||||
servers = {
|
||||
yamlls = {
|
||||
settings = {
|
||||
yaml = {
|
||||
customTags = vim.g.custom_yaml_tags,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
--- @module "plugins.core"
|
||||
--- This module defines the core plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Core │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
-- require("config.rocks").plugin_spec,
|
||||
{ -- Bufferline
|
||||
'akinsho/bufferline.nvim',
|
||||
cond = require('data.types').bufferline.enabled,
|
||||
opts = require('data.types').bufferline.opts,
|
||||
},
|
||||
{ -- Which-Key
|
||||
'folke/which-key.nvim',
|
||||
lazy = true,
|
||||
opts = require('data.types').whichkey.opts,
|
||||
},
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
--- @module "plugins.dashboard.alpha"
|
||||
--- This module defines the alpha plugin spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ ALPHA │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return { -- Alpha
|
||||
'goolord/alpha-nvim',
|
||||
event = 'VimEnter',
|
||||
enabled = require('data.func').check_global_var(
|
||||
'dashboard',
|
||||
'alpha',
|
||||
'alpha'
|
||||
),
|
||||
opts = require('data.dash').alpha.opts,
|
||||
config = function(_, dashboard)
|
||||
-- close Lazy and re-open when the dashboard is ready
|
||||
if vim.o.filetype == 'lazy' then
|
||||
vim.cmd.close()
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
once = true,
|
||||
pattern = 'AlphaReady',
|
||||
callback = function()
|
||||
require('lazy').show()
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
-- Setup the dashboard
|
||||
require('alpha').setup(dashboard.opts)
|
||||
|
||||
-- Open Alpha when Vim is started with no file arguments
|
||||
vim.api.nvim_create_autocmd('User', {
|
||||
once = true,
|
||||
pattern = 'LazyVimStarted',
|
||||
callback = function()
|
||||
local stats = require('lazy').stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
dashboard.section.footer.val = ' Neovim loaded '
|
||||
.. stats.loaded
|
||||
.. '/'
|
||||
.. stats.count
|
||||
.. ' plugins in '
|
||||
.. ms
|
||||
.. 'ms '
|
||||
pcall(vim.cmd.AlphaRedraw)
|
||||
|
||||
-- Handle other plugins that may conflict
|
||||
-- If auto-cursorline is installed, disable it
|
||||
if pcall(require, 'auto-cursorline') then
|
||||
require('auto-cursorline').disable({ buffer = true })
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Drop Screensaver │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
'folke/drop.nvim',
|
||||
lazy = true,
|
||||
opts = {},
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
--- @module "plugins.dashboard.nvim-dashboard"
|
||||
--- This module defines the dashboard plugin spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Dashboard │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return { --
|
||||
-- Dashboard
|
||||
'nvimdev/dashboard-nvim',
|
||||
event = 'UIEnter',
|
||||
version = false,
|
||||
opts = function()
|
||||
---@diagnostic disable-next-line: param-type-mismatch
|
||||
local logo_path = vim.fs.joinpath(vim.fn.stdpath('config'), 'logo/')
|
||||
local height, width = vim.fn.winheight(0), vim.fn.winwidth(0)
|
||||
local logo_file
|
||||
local logo_dimensions = { width = 0, height = 0 }
|
||||
|
||||
if height >= 80 and width >= 80 then
|
||||
logo_file = 'rootiest.txt'
|
||||
elseif height >= 48 and width >= 48 then
|
||||
logo_file = 'xerneas.ans'
|
||||
elseif width >= 100 then
|
||||
logo_file = 'pikachu.ans'
|
||||
elseif width >= 80 then
|
||||
logo_file = 'tall.txt'
|
||||
elseif width >= 50 then
|
||||
logo_file = 'small.txt'
|
||||
else
|
||||
logo_file = 'tiny.txt'
|
||||
end
|
||||
|
||||
if logo_file == 'snorlax.ans' then
|
||||
logo_dimensions = { width = 53, height = 25 }
|
||||
elseif logo_file == 'porygon-z.ans' then
|
||||
logo_dimensions = { width = 28, height = 18 }
|
||||
elseif logo_file == 'pikachu.ans' then
|
||||
logo_dimensions = { width = 22, height = 11 }
|
||||
elseif logo_file == 'taco.ans' then
|
||||
logo_dimensions = { width = 33, height = 15 }
|
||||
elseif logo_file == 'nvim.ans' then
|
||||
logo_dimensions = { width = 35, height = 20 }
|
||||
elseif logo_file == 'marshadow.ans' then
|
||||
logo_dimensions = { width = 28, height = 17 }
|
||||
elseif logo_file == 'eiscue.ans' then
|
||||
logo_dimensions = { width = 22, height = 18 }
|
||||
elseif logo_file == 'xerneas.ans' then
|
||||
logo_dimensions = { width = 39, height = 24 }
|
||||
elseif logo_file == 'rootiest.ans' then
|
||||
logo_dimensions = { width = 65, height = 27 }
|
||||
end
|
||||
|
||||
local opts = {
|
||||
theme = 'doom',
|
||||
hide = {
|
||||
statusline = false,
|
||||
tabline = true,
|
||||
},
|
||||
-- By default, use ANSI art header
|
||||
preview = {
|
||||
command = 'bat -pp | bat -pp',
|
||||
file_path = logo_path .. logo_file,
|
||||
file_width = logo_dimensions.width,
|
||||
file_height = logo_dimensions.height,
|
||||
},
|
||||
config = {
|
||||
center = require('data.dash').dashboard_nvim.choices,
|
||||
footer = function()
|
||||
local stats = require('lazy').stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
return {
|
||||
-- "⚡ Neovim loaded "
|
||||
' Neovim loaded '
|
||||
.. stats.loaded
|
||||
.. '/'
|
||||
.. stats.count
|
||||
.. ' plugins in '
|
||||
.. ms
|
||||
.. 'ms',
|
||||
}
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
-- if logo_file extension is not .ans or .png then read the content and add it to the header
|
||||
if logo_file:sub(-4) ~= '.ans' and logo_file:sub(-4) ~= '.png' then
|
||||
local logo_content = vim.fn.readfile(logo_path .. logo_file)
|
||||
local LOGO = '\n\n' .. table.concat(logo_content, '\n') .. '\n\n'
|
||||
opts.config.header = vim.split(LOGO, '\n')
|
||||
opts.preview = nil
|
||||
end
|
||||
|
||||
for _, button in ipairs(opts.config.center) do
|
||||
button.desc = button.desc .. string.rep(' ', 43 - #button.desc)
|
||||
button.key_format = ' %s'
|
||||
end
|
||||
|
||||
-- Open dashboard after closing lazy
|
||||
if vim.o.filetype == 'lazy' then
|
||||
vim.api.nvim_create_autocmd('WinClosed', {
|
||||
pattern = tostring(vim.api.nvim_get_current_win()),
|
||||
once = true,
|
||||
callback = function()
|
||||
vim.schedule(function()
|
||||
vim.api.nvim_exec_autocmds('UIEnter', { group = 'dashboard' })
|
||||
end)
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
return opts
|
||||
end,
|
||||
enabled = require('data.func').check_global_var(
|
||||
'dashboard',
|
||||
'nvim-dashboard',
|
||||
'alpha'
|
||||
),
|
||||
}
|
||||
@@ -1,114 +0,0 @@
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Snacks Dashboard │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local fallback_logo = require('data.dash').fallback_logo
|
||||
|
||||
local function get_window_size()
|
||||
local width = vim.api.nvim_win_get_width(0)
|
||||
local height = vim.api.nvim_win_get_height(0)
|
||||
return width, height
|
||||
end
|
||||
|
||||
local function read_file(file_path)
|
||||
local success, content_or_error = pcall(function()
|
||||
local file = assert(io.open(file_path, 'r')) -- Open the file in read mode
|
||||
local content = file:read('*a') -- Read the entire file content
|
||||
file:close() -- Close the file
|
||||
return content
|
||||
end)
|
||||
if not success then
|
||||
return fallback_logo
|
||||
end
|
||||
return content_or_error
|
||||
end
|
||||
|
||||
-- Common sections reused across conditions
|
||||
local common_sections = {
|
||||
{
|
||||
section = 'keys',
|
||||
title = 'Shortcuts',
|
||||
icon = ' ',
|
||||
gap = 0,
|
||||
padding = 1,
|
||||
indent = 2,
|
||||
},
|
||||
{
|
||||
pane = 2,
|
||||
padding = 2,
|
||||
},
|
||||
{
|
||||
pane = 2,
|
||||
icon = ' ',
|
||||
title = 'Recent Files',
|
||||
section = 'recent_files',
|
||||
indent = 2,
|
||||
padding = 1,
|
||||
gap = 0,
|
||||
},
|
||||
{
|
||||
pane = 2,
|
||||
icon = ' ',
|
||||
title = 'Projects',
|
||||
section = 'projects',
|
||||
indent = 2,
|
||||
padding = 2,
|
||||
},
|
||||
}
|
||||
|
||||
local function create_sections(neovide)
|
||||
local sections = {
|
||||
{ section = 'header', indent = neovide and 40 or 60 },
|
||||
}
|
||||
|
||||
-- Add common sections in order
|
||||
for _, common in ipairs(common_sections) do
|
||||
table.insert(sections, common)
|
||||
end
|
||||
|
||||
-- Ensure "startup" is always at the end
|
||||
table.insert(sections, neovide and { section = 'startup' } or {
|
||||
section = 'startup',
|
||||
padding = 2,
|
||||
indent = 60,
|
||||
})
|
||||
|
||||
if vim.g.show_github_contrib and not neovide then
|
||||
local w, h = get_window_size()
|
||||
local usrname = vim.g.gitname or 'rootiest'
|
||||
if w > 130 and h > 30 then
|
||||
table.insert(sections, {
|
||||
section = 'terminal',
|
||||
cmd = 'kusa ' .. usrname .. ' && sleep 0.2',
|
||||
padding = { 0, 0 },
|
||||
height = 10,
|
||||
width = 106,
|
||||
indent = 8,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
return sections
|
||||
end
|
||||
|
||||
return {
|
||||
{
|
||||
'folke/snacks.nvim',
|
||||
opts = {
|
||||
dashboard = {
|
||||
enabled = require('data.func').check_global_var(
|
||||
'dashboard',
|
||||
'snacks',
|
||||
'alpha'
|
||||
),
|
||||
preset = {
|
||||
keys = require('data.dash').dashboard_nvim.choices,
|
||||
header = read_file(require('data.dash').logo),
|
||||
},
|
||||
sections = function()
|
||||
return create_sections(require('data.func').is_neovide())
|
||||
end,
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
--- @module "plugins.debug"
|
||||
--- This module defines the debug plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Debug │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Neotest Plenary
|
||||
'nvim-neotest/neotest-plenary',
|
||||
},
|
||||
{ -- Neotest
|
||||
'nvim-neotest/neotest',
|
||||
opts = {
|
||||
adapters = require('data.deps').neotest.adapters,
|
||||
},
|
||||
dependencies = require('data.deps').neotest.deps,
|
||||
},
|
||||
{ -- Profiling
|
||||
'stevearc/profile.nvim',
|
||||
},
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
return {
|
||||
-- disable tokyonight
|
||||
{ 'folke/tokyonight.nvim', enabled = false },
|
||||
}
|
||||
@@ -1,148 +0,0 @@
|
||||
--- @module "plugins.editor"
|
||||
--- This module defines the editor plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Editor │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Illuminate
|
||||
'ehpi/vim-illuminate',
|
||||
opts = require('data.types').illuminate.opts,
|
||||
},
|
||||
{ -- Nvim-notify
|
||||
'rcarriga/nvim-notify',
|
||||
opts = {
|
||||
fps = 144, -- your monitor refresh rate
|
||||
},
|
||||
},
|
||||
{ -- Grug-Far
|
||||
'MagicDuck/grug-far.nvim',
|
||||
opts = require('data.types').grug_far.opts,
|
||||
},
|
||||
{ -- Trouble
|
||||
'folke/trouble.nvim',
|
||||
lazy = true,
|
||||
event = 'LazyFile',
|
||||
cmd = require('data.cmd').trouble,
|
||||
opts = require('data.types').trouble.opts,
|
||||
},
|
||||
{ -- Flash
|
||||
'folke/flash.nvim',
|
||||
opts = require('data.types').flash,
|
||||
keys = require('data.keys').flash,
|
||||
},
|
||||
{ -- NeoTree
|
||||
'nvim-neo-tree/neo-tree.nvim',
|
||||
opts = require('data.types').neotree.opts,
|
||||
cond = require('data.cond').neotree,
|
||||
},
|
||||
{ -- Arrow
|
||||
'otavioschwanck/arrow.nvim',
|
||||
lazy = true,
|
||||
event = 'User LazyFileOpen',
|
||||
opts = require('data.types').arrow,
|
||||
},
|
||||
---@module "neominimap.config.meta"
|
||||
{ -- NeoMiniMap
|
||||
'Isrothy/neominimap.nvim',
|
||||
lazy = false,
|
||||
-- event = 'User LazyFileOpen',
|
||||
keys = require('data.keys').minimap.func,
|
||||
init = require('data.types').minimap.init(),
|
||||
cond = require('data.types').minimap.cond(),
|
||||
},
|
||||
{ -- Persistence
|
||||
'folke/persistence.nvim',
|
||||
event = 'BufReadPre',
|
||||
opts = {},
|
||||
},
|
||||
{ -- DeadColumn
|
||||
'Bekaboo/deadcolumn.nvim',
|
||||
event = 'BufEnter',
|
||||
cond = require('data.func').check_global_var('dead_column', true, true),
|
||||
},
|
||||
{ -- Precognition
|
||||
'tris203/precognition.nvim',
|
||||
lazy = true,
|
||||
opts = {},
|
||||
keys = require('data.keys').precog,
|
||||
},
|
||||
{ -- Smart Scrolloff
|
||||
'tonymajestro/smart-scrolloff.nvim',
|
||||
lazy = true,
|
||||
event = 'LazyFile',
|
||||
cond = require('data.func').check_global_var('smart_scrolloff', true, true),
|
||||
opts = require('data.types').smartscrolloff,
|
||||
},
|
||||
{ -- Recorder
|
||||
'chrisgrieser/nvim-recorder',
|
||||
lazy = true,
|
||||
dependencies = require('data.deps').recorder,
|
||||
keys = require('data.keys').recorder,
|
||||
},
|
||||
{ -- Comment Box
|
||||
'LudoPinelli/comment-box.nvim',
|
||||
lazy = false,
|
||||
},
|
||||
{ -- Todo Comments
|
||||
'folke/todo-comments.nvim',
|
||||
opts = require('data.types').todo.opts,
|
||||
cond = require('data.cond').todo,
|
||||
enabled = true,
|
||||
},
|
||||
{ -- Auto Cursorline
|
||||
'delphinus/auto-cursorline.nvim',
|
||||
cond = require('data.func').check_global_var('auto_cursorline', true, true),
|
||||
opts = require('data.types').autocursorline,
|
||||
},
|
||||
{ -- Bars N Lines
|
||||
'OXY2DEV/bars-N-lines.nvim',
|
||||
cond = require('data.types').barsNlines.enabled,
|
||||
lazy = false,
|
||||
config = require('data.types').barsNlines.config,
|
||||
},
|
||||
{ -- UndoTree
|
||||
'mbbill/undotree',
|
||||
lazy = false,
|
||||
config = require('data.types').undotree,
|
||||
keys = require('data.keys').undotree,
|
||||
},
|
||||
{ -- Noice
|
||||
'folke/noice.nvim',
|
||||
optional = true,
|
||||
opts = require('data.types').noice,
|
||||
},
|
||||
{ -- Smear Cursor
|
||||
'sphamba/smear-cursor.nvim',
|
||||
event = 'VeryLazy',
|
||||
enabled = function() -- Allow kitty and neovide to use native features
|
||||
return not require('data.func').is_neovide()
|
||||
and not require('data.func').is_kitty()
|
||||
end,
|
||||
opts = require('data.types').smearcursor,
|
||||
keys = require('data.keys').smearcursor,
|
||||
},
|
||||
{ -- nvim-colorizer
|
||||
'catgoose/nvim-colorizer.lua',
|
||||
event = 'BufReadPre',
|
||||
lazy = true,
|
||||
opts = {
|
||||
lazy_load = true,
|
||||
user_default_options = {
|
||||
names = true,
|
||||
RGB = true, -- #RGB hex codes
|
||||
RGBA = true, -- #RGBA hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
AARRGGBB = true, -- 0xAARRGGBB hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true,
|
||||
css_fn = true,
|
||||
tailwind = true, -- Enable tailwind colors
|
||||
tailwind_opts = { update_names = true },
|
||||
sass = { enable = true, parsers = { 'css' } }, -- Enable sass colors
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
--- @module "plugins.git"
|
||||
--- This module defines the git plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Git Plugins │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Gist Tools
|
||||
'Rawnly/gist.nvim',
|
||||
lazy = true,
|
||||
cmd = require('data.cmd').gist,
|
||||
keys = require('data.keys').gist.func,
|
||||
config = true,
|
||||
},
|
||||
{ -- Thanks/github-stars
|
||||
'jsongerber/thanks.nvim',
|
||||
lazy = true,
|
||||
cmd = require('data.cmd').thanks,
|
||||
opts = require('data.types').thanks.opts,
|
||||
},
|
||||
{ -- GitLinker
|
||||
'linrongbin16/gitlinker.nvim',
|
||||
lazy = true,
|
||||
cmd = require('data.cmd').gitlinker,
|
||||
opts = {},
|
||||
keys = require('data.keys').gitlinker,
|
||||
},
|
||||
{ -- Git Blame
|
||||
'f-person/git-blame.nvim',
|
||||
event = 'LazyFile',
|
||||
cond = require('data.cond').lualine,
|
||||
opts = require('data.types').gitblame.opts,
|
||||
},
|
||||
{ -- Git Graph
|
||||
'isakbm/gitgraph.nvim',
|
||||
opts = require('data.types').gitgraph.opts,
|
||||
keys = require('data.keys').gitgraph,
|
||||
},
|
||||
{ -- Diffview
|
||||
'sindrets/diffview.nvim',
|
||||
lazy = true,
|
||||
cmd = require('data.cmd').diffview,
|
||||
opts = require('data.types').diffview.opts,
|
||||
},
|
||||
{ -- Neogit
|
||||
'NeogitOrg/neogit',
|
||||
opts = {
|
||||
graph_style = 'kitty',
|
||||
},
|
||||
},
|
||||
{ -- GitSigns
|
||||
'lewis6991/gitsigns.nvim',
|
||||
opts = function()
|
||||
local myopts = {}
|
||||
myopts.linehl = vim.g.git_line_hl or false
|
||||
myopts.word_diff = vim.g.git_word_hl or false
|
||||
return myopts
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
---@module "plugins"
|
||||
--- This module defines the plugins for the Neovim configuration.
|
||||
---
|
||||
--- If lazy.nvim is installed, this module returns an empty table
|
||||
--- to defer plugin management to lazy.nvim.
|
||||
---
|
||||
--- If lazy.nvim is not installed, the module loads each
|
||||
--- Lua file in the `plugins` directory.
|
||||
---
|
||||
--- Note:
|
||||
--- A warning will be triggered if lazy.nvim is not installed unless
|
||||
--- the variable `vim.g.ignore_no_lazy` is set to `true`.
|
||||
--
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ PLUGINS DATA │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
local plugins = {}
|
||||
|
||||
-- Check if lazy.nvim is installed
|
||||
if pcall(require, 'lazy') then
|
||||
-- If lazy.nvim is installed, return an empty table and do nothing
|
||||
return plugins
|
||||
else
|
||||
-- If lazy.nvim is not installed and vim.g.ignore_no_lazy is not set, display a warning
|
||||
if not vim.g.ignore_no_lazy then
|
||||
require('data').func.notify('lazy.nvim is not installed', 'WARNING')
|
||||
end
|
||||
|
||||
-- Try to require plugins manually if we are not using lazy.nvim
|
||||
local function read_plugins_dir()
|
||||
-- Getting the root path for the current module directory
|
||||
local dir_path =
|
||||
vim.fn.fnamemodify(debug.getinfo(1, 'S').source:sub(2), ':h')
|
||||
-- Load modules from the data directory
|
||||
require('data').load_modules_from_dir(dir_path, 'plugins')
|
||||
end
|
||||
|
||||
-- Read the directory and load any additional modules
|
||||
read_plugins_dir()
|
||||
end
|
||||
|
||||
return plugins
|
||||
@@ -1,51 +0,0 @@
|
||||
--- @module "plugins.languages"
|
||||
--- This module defines the languages plugins spec for the Neovim configuration.
|
||||
-- ╭─────────────────────────────────────────────────────────╮
|
||||
-- │ Languages │
|
||||
-- ╰─────────────────────────────────────────────────────────╯
|
||||
|
||||
return {
|
||||
{ -- Jinja
|
||||
'armyers/Vim-Jinja2-Syntax',
|
||||
},
|
||||
{ -- Render-markdown
|
||||
'MeanderingProgrammer/render-markdown.nvim',
|
||||
enabled = false,
|
||||
opts = {
|
||||
heading = {
|
||||
-- Determins if a border is added above and below headings
|
||||
border = true,
|
||||
above = '▂',
|
||||
-- Used below heading for border
|
||||
below = '🮂',
|
||||
},
|
||||
file_types = { 'markdown', 'Avante' },
|
||||
},
|
||||
ft = { 'markdown', 'Avante' },
|
||||
},
|
||||
{ -- MarkView
|
||||
'OXY2DEV/markview.nvim',
|
||||
ft = { 'markdown', 'Avante' },
|
||||
opts = function()
|
||||
local presets = require('markview.presets')
|
||||
return {
|
||||
checkboxes = presets.checkboxes.nerd,
|
||||
markdown = {
|
||||
headings = presets.headings.simple,
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
{ -- Markdown Preview
|
||||
'iamcco/markdown-preview.nvim',
|
||||
cmd = require('data.cmd').markdown_preview,
|
||||
ft = { 'markdown' },
|
||||
build = function()
|
||||
vim.fn['mkdp#util#install']()
|
||||
end,
|
||||
},
|
||||
{ -- CookLang
|
||||
'luizribeiro/vim-cooklang',
|
||||
lazy = false,
|
||||
},
|
||||
}
|
||||