Compare commits

...

2 commits

Author SHA1 Message Date
7c6db1a71f docs: update help.svg 2023-01-29 21:57:17 -06:00
c220d225fc build: bump task.mk version again 2023-01-29 21:57:06 -06:00
4 changed files with 86 additions and 101 deletions

4
.task.cfg.mk Normal file
View file

@ -0,0 +1,4 @@
PHONIFY = true
msg = $(call tprint,{a.bold}==>{a.end} {a.b_magenta}$(1){a.end} {a.bold}<=={a.end})
USAGE = {a.b_green}Update MonoLisa with Nerd Fonts! {a.end}\n\n{a.header}usage{a.end}:\n make <recipe>\n
-include .task.mk

View file

@ -1,8 +1,7 @@
# }> [github.com/daylinmorgan/task.mk] <{ # # }> [github.com/daylinmorgan/task.mk] <{ #
# Copyright (c) 2022 Daylin Morgan # Copyright (c) 2022 Daylin Morgan
# MIT License # MIT License
# version: 23.1.1 TASKMK_VERSION ?= 23.1.1
#
# task.mk should be included at the bottom of your Makefile with `-include .task.mk` # task.mk should be included at the bottom of your Makefile with `-include .task.mk`
# See below for the standard configuration options that should be set prior to including this file. # See below for the standard configuration options that should be set prior to including this file.
# You can update your .task.mk with `make _update-task.mk` # You can update your .task.mk with `make _update-task.mk`
@ -25,30 +24,27 @@ ifeq (help,$(firstword $(MAKECMDGOALS)))
HELP_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) HELP_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS))
export HELP_ARGS export HELP_ARGS
endif endif
## h, help | show this help h help: ## show this help
h help:
$(call py,help_py) $(call py,help_py)
_help: export SHOW_HIDDEN=true _help: export SHOW_HIDDEN=true
_help: help _help: help
ifdef PRINT_VARS ifdef PRINT_VARS
$(foreach v,$(PRINT_VARS),$(eval export $(v))) TASKMK_VARS=$(subst $(eval ) ,<|>,$(foreach v,$(PRINT_VARS),$(v)=$($(v))))
.PHONY: vars v .PHONY: vars v
vars v: v vars:
$(call py,vars_py,$(PRINT_VARS)) $(call py,vars_py,$(TASKMK_VARS))
endif endif
### | args: -ws --hidden ### |> -ws --hidden
### task.mk builtins: | args: -d --hidden ### task.mk builtins: |> -d --hidden
## _print-ansi | show all possible ansi color code combinations _print-ansi: ## show all possible ansi color code combinations
_print-ansi:
$(call py,print_ansi_py) $(call py,print_ansi_py)
# functions to take f-string literals and pass to python print # functions to take f-string literals and pass to python print
tprint = $(call py,print_py,$(1)) tprint = $(call py,print_py,$(1))
tprint-sh = $(call pysh,print_py,$(1)) tprint-verbose= $(call py-verbose,print_py,$(1))
tconfirm = $(call py,confirm_py,$(1)) tconfirm = $(call py,confirm_py,$(1))
## _update-task.mk | downloads latest development version of task.mk _update-task.mk: ## downloads version of task.mk (TASKMK_VERSION=)
_update-task.mk:
$(call tprint,{a.b_cyan}Updating task.mk{a.end}) $(call tprint,{a.b_cyan}Updating task.mk{a.end})
curl https://raw.githubusercontent.com/daylinmorgan/task.mk/main/task.mk -o .task.mk curl https://raw.githubusercontent.com/daylinmorgan/task.mk/$(TASKMK_VERSION)/task.mk -o .task.mk
.PHONY: h help _help _print-ansi _update-task.mk .PHONY: h help _help _print-ansi _update-task.mk
TASK_MAKEFILE_LIST := $(filter-out $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)),$(MAKEFILE_LIST)) TASK_MAKEFILE_LIST := $(filter-out $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)),$(MAKEFILE_LIST))
export MAKEFILE_LIST MAKE TASK_MAKEFILE_LIST export MAKEFILE_LIST MAKE TASK_MAKEFILE_LIST
@ -77,7 +73,7 @@ else
py = @python3 <(printf "$(call _create_string,$($(1)))") py = @python3 <(printf "$(call _create_string,$($(1)))")
tbash = @bash <(printf "$(call _create_string,$($(1)))") tbash = @bash <(printf "$(call _create_string,$($(1)))")
endif endif
pysh = python3 <(printf "$(call _create_string,$($(1)))") py-verbose = python3 <(printf "$(call _create_string,$($(1)))")
# ---- [python scripts] ---- # # ---- [python scripts] ---- #
define help_py define help_py
import argparse import argparse
@ -92,26 +88,20 @@ a = ansi = Ansi(target="stdout")
MaxLens = namedtuple("MaxLens", "goal msg") MaxLens = namedtuple("MaxLens", "goal msg")
pattern = re.compile( pattern = re.compile(
r""" r"""
^\#\#\ (?:
(?P<goal>.*?)\s?\|\s?(?P<msg>.*?) ^\#\#\#\s+ # <- raw message
\s?
(?:
(?:\|\s?args:\s?|\|>)
\s?
(?P<msgargs>.*?)
)?
$$
| |
^\#\#\#\ ^(?:
(?P<rawmsg>.*?) (?:\#\#\s+)?
\s? (?P<goal>.*?)(?:\s+\|>|:.*?\#\#)\s+
(?: ) # <- a custom goal or actual recipe
(?:\|\s?args:|\|\>) )
\s? (?P<msg>.*?)?\s? # <- help text (optional)
(?P<rawargs>.*?) (?:\|>\s+
)? (?P<msgargs>.*?)
$$ )? # <- style args (optional)
""", $$
""",
re.X, re.X,
) )
goal_pattern = re.compile(r"""^(?!#|\t)(.*):.*\n\t""", re.MULTILINE) goal_pattern = re.compile(r"""^(?!#|\t)(.*):.*\n\t""", re.MULTILINE)
@ -234,7 +224,10 @@ def print_help():
lines = [cfg.usage] lines = [cfg.usage]
items = list(parse_help(gen_makefile())) items = list(parse_help(gen_makefile()))
maxlens = MaxLens( maxlens = MaxLens(
*(max((len(item[x]) for item in items if x in item)) for x in ["goal", "msg"]) *(
max((*(len(item[x]) for item in items if x in item), 0))
for x in ["goal", "msg"]
)
) )
for item in items: for item in items:
if "goal" in item: if "goal" in item:
@ -243,8 +236,8 @@ def print_help():
item["goal"], item["msg"], maxlens.goal, item.get("msgargs", "") item["goal"], item["msg"], maxlens.goal, item.get("msgargs", "")
) )
) )
if "rawmsg" in item: else:
lines.extend(fmt_rawmsg(item["rawmsg"], item.get("rawargs", ""), maxlens)) lines.extend(fmt_rawmsg(item["msg"], item.get("msgargs", ""), maxlens))
lines.append(cfg.epilog) lines.append(cfg.epilog)
print("\n".join(lines)) print("\n".join(lines))
def print_arg_help(help_args): def print_arg_help(help_args):
@ -292,12 +285,10 @@ define vars_py
import os import os
$(utils_py) $(utils_py)
ansi = Ansi(target="stdout") ansi = Ansi(target="stdout")
vars = "$2".split() task_vars = tuple(v.split('=') for v in "$2".split('<|>'))
length = max((len(v) for v in vars)) length = max((len(v[0]) for v in task_vars))
print(f"{ansi.header}vars{ansi.end}:\n") rows = (f" {ansi.params}{v[0]:<{length}}{ansi.end} = {v[1]}" for v in task_vars)
for v in vars: print('\n'.join((f"{ansi.header}vars{ansi.end}:\n", *rows,'')))
print(f" {ansi.params}{v:<{length}}{ansi.end} = {os.getenv(v)}")
print()
endef endef
define confirm_py define confirm_py
import sys import sys
@ -399,6 +390,7 @@ class Ansi:
print("Expected one or three values for bg as a list") print("Expected one or three values for bg as a list")
sys.exit(1) sys.exit(1)
return code + end return code + end
def add_cfg(self): def add_cfg(self):
cfg_styles = { cfg_styles = {
"header": "$(HEADER_STYLE)", "header": "$(HEADER_STYLE)",

View file

@ -4,45 +4,32 @@ ARGS ?= -c
NF_SRC := $(shell ./bin/get-font-files src) NF_SRC := $(shell ./bin/get-font-files src)
FONT_FLAGS := $(shell ./bin/get-font-files MonoLisa 'otf,ttf,woff,woff2') FONT_FLAGS := $(shell ./bin/get-font-files MonoLisa 'otf,ttf,woff,woff2')
## patch | apply nerd fonts patch |> -gs b_magenta -ms bold patch: ./bin/font-patcher ## apply nerd fonts patch |> -gs b_magenta -ms bold
patch: ./bin/font-patcher
@./bin/patch-monolisa \ @./bin/patch-monolisa \
$(FONT_FLAGS) \ $(FONT_FLAGS) \
$(ARGS) $(ARGS)
## update-fonts | move fonts and update fc-cache update-fonts: ## move fonts and update fc-cache
.PHONY: update-fonts
update-fonts:
$(call msg,Adding Fonts To System) $(call msg,Adding Fonts To System)
@./bin/update-fonts @./bin/update-fonts
@fc-cache -f -v @fc-cache -f -v
## check | check fc-list for MonoLisa check: ## check fc-list for MonoLisa
.PHONY: check
check:
$(call msg,Checking System for Fonts) $(call msg,Checking System for Fonts)
@fc-list | grep "MonoLisa" @fc-list | grep "MonoLisa"
## update-src | update nerd fonts source update-src: ## update nerd fonts source
.PHONY: update-src
update-src:
$(call msg,Updating Source Files) $(call msg,Updating Source Files)
@./bin/update-src @./bin/update-src
## lint | run pre-commit hooks lint: ## run pre-commit hooks
.PHONY: lint
lint:
@pre-commit run --all @pre-commit run --all
## clean | remove patched fonts clean: ## remove patched fonts
.PHONY: clean
clean:
@rm -rf patched/* @rm -rf patched/*
# depends on daylinmorgan/yartsu # depends on daylinmorgan/yartsu
assets/help.svg: assets/help.svg:
yartsu -o $@ -t 'make help' -- $(MAKE) -s help yartsu -o $@ -t 'make help' -- $(MAKE) -s help
msg = $(call tprint,{a.bold}==>{a.end} {a.b_magenta}$(1){a.end} {a.bold}<=={a.end}) -include .task.cfg.mk
USAGE = {a.b_green}Update MonoLisa with Nerd Fonts! {a.end}\n\n{a.header}usage{a.end}:\n make <recipe>\n
-include .task.mk

View file

@ -16,14 +16,14 @@
font-weight: 700; font-weight: 700;
} }
.terminal-2663349072-matrix { .terminal-2630318916-matrix {
font-family: Fira Code, monospace; font-family: Fira Code, monospace;
font-size: 20px; font-size: 20px;
line-height: 24.4px; line-height: 24.4px;
font-variant-east-asian: full-width; font-variant-east-asian: full-width;
} }
.terminal-2663349072-title { .terminal-2630318916-title {
font-size: 18px; font-size: 18px;
font-weight: bold; font-weight: bold;
font-family: arial; font-family: arial;
@ -33,78 +33,80 @@
-webkit-filter: drop-shadow( 2px 5px 2px rgba(0, 0, 0, .7)); -webkit-filter: drop-shadow( 2px 5px 2px rgba(0, 0, 0, .7));
filter: drop-shadow( 2px 5px 2px rgba(0, 0, 0, .7)); filter: drop-shadow( 2px 5px 2px rgba(0, 0, 0, .7));
} }
.terminal-2663349072-r1 { fill: #a6e3a1;font-weight: bold } .terminal-2630318916-r1 { fill: #a6e3a1;font-weight: bold }
.terminal-2663349072-r2 { fill: #c6d0f5 } .terminal-2630318916-r2 { fill: #c6d0f5 }
.terminal-2663349072-r3 { fill: #94e2d5;font-weight: bold } .terminal-2630318916-r3 { fill: #94e2d5;font-weight: bold }
.terminal-2663349072-r4 { fill: #f9e2af;font-weight: bold } .terminal-2630318916-r4 { fill: #f5c2e7;font-weight: bold }
.terminal-2663349072-r5 { fill: #8288a5 } .terminal-2630318916-r5 { fill: #c6d0f5;font-weight: bold }
.terminal-2630318916-r6 { fill: #f9e2af;font-weight: bold }
.terminal-2630318916-r7 { fill: #8288a5 }
</style> </style>
<defs> <defs>
<clipPath id="terminal-2663349072-clip-terminal"> <clipPath id="terminal-2630318916-clip-terminal">
<rect x="0" y="0" width="572.4" height="316.2" /> <rect x="0" y="0" width="572.4" height="316.2" />
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-0"> <clipPath id="terminal-2630318916-line-0">
<rect x="0" y="1.5" width="573.4" height="24.65"/> <rect x="0" y="1.5" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-1"> <clipPath id="terminal-2630318916-line-1">
<rect x="0" y="25.9" width="573.4" height="24.65"/> <rect x="0" y="25.9" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-2"> <clipPath id="terminal-2630318916-line-2">
<rect x="0" y="50.3" width="573.4" height="24.65"/> <rect x="0" y="50.3" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-3"> <clipPath id="terminal-2630318916-line-3">
<rect x="0" y="74.7" width="573.4" height="24.65"/> <rect x="0" y="74.7" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-4"> <clipPath id="terminal-2630318916-line-4">
<rect x="0" y="99.1" width="573.4" height="24.65"/> <rect x="0" y="99.1" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-5"> <clipPath id="terminal-2630318916-line-5">
<rect x="0" y="123.5" width="573.4" height="24.65"/> <rect x="0" y="123.5" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-6"> <clipPath id="terminal-2630318916-line-6">
<rect x="0" y="147.9" width="573.4" height="24.65"/> <rect x="0" y="147.9" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-7"> <clipPath id="terminal-2630318916-line-7">
<rect x="0" y="172.3" width="573.4" height="24.65"/> <rect x="0" y="172.3" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-8"> <clipPath id="terminal-2630318916-line-8">
<rect x="0" y="196.7" width="573.4" height="24.65"/> <rect x="0" y="196.7" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-9"> <clipPath id="terminal-2630318916-line-9">
<rect x="0" y="221.1" width="573.4" height="24.65"/> <rect x="0" y="221.1" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-10"> <clipPath id="terminal-2630318916-line-10">
<rect x="0" y="245.5" width="573.4" height="24.65"/> <rect x="0" y="245.5" width="573.4" height="24.65"/>
</clipPath> </clipPath>
<clipPath id="terminal-2663349072-line-11"> <clipPath id="terminal-2630318916-line-11">
<rect x="0" y="269.9" width="573.4" height="24.65"/> <rect x="0" y="269.9" width="573.4" height="24.65"/>
</clipPath> </clipPath>
</defs> </defs>
<rect fill="#1e1e2e" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="10.1667" y="1" width="590" height="365.2" rx="8"/><text class="terminal-2663349072-title" fill="#c6d0f5" text-anchor="middle" x="295" y="27">make&#160;help</text> <rect fill="#1e1e2e" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="10.1667" y="1" width="590" height="365.2" rx="8"/><text class="terminal-2630318916-title" fill="#c6d0f5" text-anchor="middle" x="295" y="27">make&#160;help</text>
<g transform="translate(32,22)"> <g transform="translate(32,22)">
<circle cx="0" cy="0" r="7" fill="#ff5f57"/> <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
<circle cx="22" cy="0" r="7" fill="#febc2e"/> <circle cx="22" cy="0" r="7" fill="#febc2e"/>
<circle cx="44" cy="0" r="7" fill="#28c840"/> <circle cx="44" cy="0" r="7" fill="#28c840"/>
</g> </g>
<g transform="translate(18.166666666666664, 41) scale(.95)" clip-path="url(#terminal-2663349072-clip-terminal)"> <g transform="translate(18.166666666666664, 41) scale(.95)" clip-path="url(#terminal-2630318916-clip-terminal)">
<g class="terminal-2663349072-matrix"> <g class="terminal-2630318916-matrix">
<text class="terminal-2663349072-r1" x="0" y="20" textLength="402.6" clip-path="url(#terminal-2663349072-line-0)">Update&#160;MonoLisa&#160;with&#160;Nerd&#160;Fonts!&#160;</text><text class="terminal-2663349072-r2" x="573.4" y="20" textLength="12.2" clip-path="url(#terminal-2663349072-line-0)"> <text class="terminal-2630318916-r1" x="0" y="20" textLength="402.6" clip-path="url(#terminal-2630318916-line-0)">Update&#160;MonoLisa&#160;with&#160;Nerd&#160;Fonts!&#160;</text><text class="terminal-2630318916-r2" x="573.4" y="20" textLength="12.2" clip-path="url(#terminal-2630318916-line-0)">
</text><text class="terminal-2663349072-r2" x="573.4" y="44.4" textLength="12.2" clip-path="url(#terminal-2663349072-line-1)"> </text><text class="terminal-2630318916-r2" x="573.4" y="44.4" textLength="12.2" clip-path="url(#terminal-2630318916-line-1)">
</text><text class="terminal-2663349072-r3" x="0" y="68.8" textLength="61" clip-path="url(#terminal-2663349072-line-2)">usage</text><text class="terminal-2663349072-r2" x="61" y="68.8" textLength="12.2" clip-path="url(#terminal-2663349072-line-2)">:</text><text class="terminal-2663349072-r2" x="573.4" y="68.8" textLength="12.2" clip-path="url(#terminal-2663349072-line-2)"> </text><text class="terminal-2630318916-r3" x="0" y="68.8" textLength="61" clip-path="url(#terminal-2630318916-line-2)">usage</text><text class="terminal-2630318916-r2" x="61" y="68.8" textLength="12.2" clip-path="url(#terminal-2630318916-line-2)">:</text><text class="terminal-2630318916-r2" x="573.4" y="68.8" textLength="12.2" clip-path="url(#terminal-2630318916-line-2)">
</text><text class="terminal-2663349072-r2" x="97.6" y="93.2" textLength="158.6" clip-path="url(#terminal-2663349072-line-3)">make&#160;&lt;recipe&gt;</text><text class="terminal-2663349072-r2" x="573.4" y="93.2" textLength="12.2" clip-path="url(#terminal-2663349072-line-3)"> </text><text class="terminal-2630318916-r2" x="97.6" y="93.2" textLength="158.6" clip-path="url(#terminal-2630318916-line-3)">make&#160;&lt;recipe&gt;</text><text class="terminal-2630318916-r2" x="573.4" y="93.2" textLength="12.2" clip-path="url(#terminal-2630318916-line-3)">
</text><text class="terminal-2663349072-r2" x="573.4" y="117.6" textLength="12.2" clip-path="url(#terminal-2663349072-line-4)"> </text><text class="terminal-2630318916-r2" x="573.4" y="117.6" textLength="12.2" clip-path="url(#terminal-2630318916-line-4)">
</text><text class="terminal-2663349072-r4" x="0" y="142" textLength="170.8" clip-path="url(#terminal-2663349072-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;patch</text><text class="terminal-2663349072-r2" x="170.8" y="142" textLength="36.6" clip-path="url(#terminal-2663349072-line-5)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="142" textLength="268.4" clip-path="url(#terminal-2663349072-line-5)">apply&#160;nerd&#160;fonts&#160;patch</text><text class="terminal-2663349072-r2" x="573.4" y="142" textLength="12.2" clip-path="url(#terminal-2663349072-line-5)"> </text><text class="terminal-2630318916-r4" x="0" y="142" textLength="170.8" clip-path="url(#terminal-2630318916-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;patch</text><text class="terminal-2630318916-r2" x="170.8" y="142" textLength="36.6" clip-path="url(#terminal-2630318916-line-5)">&#160;&#160;</text><text class="terminal-2630318916-r5" x="207.4" y="142" textLength="268.4" clip-path="url(#terminal-2630318916-line-5)">apply&#160;nerd&#160;fonts&#160;patch</text><text class="terminal-2630318916-r2" x="573.4" y="142" textLength="12.2" clip-path="url(#terminal-2630318916-line-5)">
</text><text class="terminal-2663349072-r4" x="0" y="166.4" textLength="170.8" clip-path="url(#terminal-2663349072-line-6)">&#160;&#160;update-fonts</text><text class="terminal-2663349072-r2" x="170.8" y="166.4" textLength="36.6" clip-path="url(#terminal-2663349072-line-6)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="166.4" textLength="366" clip-path="url(#terminal-2663349072-line-6)">move&#160;fonts&#160;and&#160;update&#160;fc-cache</text><text class="terminal-2663349072-r2" x="573.4" y="166.4" textLength="12.2" clip-path="url(#terminal-2663349072-line-6)"> </text><text class="terminal-2630318916-r6" x="0" y="166.4" textLength="170.8" clip-path="url(#terminal-2630318916-line-6)">&#160;&#160;update-fonts</text><text class="terminal-2630318916-r2" x="170.8" y="166.4" textLength="36.6" clip-path="url(#terminal-2630318916-line-6)">&#160;&#160;</text><text class="terminal-2630318916-r7" x="207.4" y="166.4" textLength="366" clip-path="url(#terminal-2630318916-line-6)">move&#160;fonts&#160;and&#160;update&#160;fc-cache</text><text class="terminal-2630318916-r2" x="573.4" y="166.4" textLength="12.2" clip-path="url(#terminal-2630318916-line-6)">
</text><text class="terminal-2663349072-r4" x="0" y="190.8" textLength="170.8" clip-path="url(#terminal-2663349072-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;check</text><text class="terminal-2663349072-r2" x="170.8" y="190.8" textLength="36.6" clip-path="url(#terminal-2663349072-line-7)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="190.8" textLength="317.2" clip-path="url(#terminal-2663349072-line-7)">check&#160;fc-list&#160;for&#160;MonoLisa</text><text class="terminal-2663349072-r2" x="573.4" y="190.8" textLength="12.2" clip-path="url(#terminal-2663349072-line-7)"> </text><text class="terminal-2630318916-r6" x="0" y="190.8" textLength="170.8" clip-path="url(#terminal-2630318916-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;check</text><text class="terminal-2630318916-r2" x="170.8" y="190.8" textLength="36.6" clip-path="url(#terminal-2630318916-line-7)">&#160;&#160;</text><text class="terminal-2630318916-r7" x="207.4" y="190.8" textLength="317.2" clip-path="url(#terminal-2630318916-line-7)">check&#160;fc-list&#160;for&#160;MonoLisa</text><text class="terminal-2630318916-r2" x="573.4" y="190.8" textLength="12.2" clip-path="url(#terminal-2630318916-line-7)">
</text><text class="terminal-2663349072-r4" x="0" y="215.2" textLength="170.8" clip-path="url(#terminal-2663349072-line-8)">&#160;&#160;&#160;&#160;update-src</text><text class="terminal-2663349072-r2" x="170.8" y="215.2" textLength="36.6" clip-path="url(#terminal-2663349072-line-8)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="215.2" textLength="292.8" clip-path="url(#terminal-2663349072-line-8)">update&#160;nerd&#160;fonts&#160;source</text><text class="terminal-2663349072-r2" x="573.4" y="215.2" textLength="12.2" clip-path="url(#terminal-2663349072-line-8)"> </text><text class="terminal-2630318916-r6" x="0" y="215.2" textLength="170.8" clip-path="url(#terminal-2630318916-line-8)">&#160;&#160;&#160;&#160;update-src</text><text class="terminal-2630318916-r2" x="170.8" y="215.2" textLength="36.6" clip-path="url(#terminal-2630318916-line-8)">&#160;&#160;</text><text class="terminal-2630318916-r7" x="207.4" y="215.2" textLength="292.8" clip-path="url(#terminal-2630318916-line-8)">update&#160;nerd&#160;fonts&#160;source</text><text class="terminal-2630318916-r2" x="573.4" y="215.2" textLength="12.2" clip-path="url(#terminal-2630318916-line-8)">
</text><text class="terminal-2663349072-r4" x="0" y="239.6" textLength="170.8" clip-path="url(#terminal-2663349072-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;lint</text><text class="terminal-2663349072-r2" x="170.8" y="239.6" textLength="36.6" clip-path="url(#terminal-2663349072-line-9)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="239.6" textLength="244" clip-path="url(#terminal-2663349072-line-9)">run&#160;pre-commit&#160;hooks</text><text class="terminal-2663349072-r2" x="573.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2663349072-line-9)"> </text><text class="terminal-2630318916-r6" x="0" y="239.6" textLength="170.8" clip-path="url(#terminal-2630318916-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;lint</text><text class="terminal-2630318916-r2" x="170.8" y="239.6" textLength="36.6" clip-path="url(#terminal-2630318916-line-9)">&#160;&#160;</text><text class="terminal-2630318916-r7" x="207.4" y="239.6" textLength="244" clip-path="url(#terminal-2630318916-line-9)">run&#160;pre-commit&#160;hooks</text><text class="terminal-2630318916-r2" x="573.4" y="239.6" textLength="12.2" clip-path="url(#terminal-2630318916-line-9)">
</text><text class="terminal-2663349072-r4" x="0" y="264" textLength="170.8" clip-path="url(#terminal-2663349072-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;clean</text><text class="terminal-2663349072-r2" x="170.8" y="264" textLength="36.6" clip-path="url(#terminal-2663349072-line-10)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="264" textLength="244" clip-path="url(#terminal-2663349072-line-10)">remove&#160;patched&#160;fonts</text><text class="terminal-2663349072-r2" x="573.4" y="264" textLength="12.2" clip-path="url(#terminal-2663349072-line-10)"> </text><text class="terminal-2630318916-r6" x="0" y="264" textLength="170.8" clip-path="url(#terminal-2630318916-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;clean</text><text class="terminal-2630318916-r2" x="170.8" y="264" textLength="36.6" clip-path="url(#terminal-2630318916-line-10)">&#160;&#160;</text><text class="terminal-2630318916-r7" x="207.4" y="264" textLength="244" clip-path="url(#terminal-2630318916-line-10)">remove&#160;patched&#160;fonts</text><text class="terminal-2630318916-r2" x="573.4" y="264" textLength="12.2" clip-path="url(#terminal-2630318916-line-10)">
</text><text class="terminal-2663349072-r4" x="0" y="288.4" textLength="170.8" clip-path="url(#terminal-2663349072-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;h,&#160;help</text><text class="terminal-2663349072-r2" x="170.8" y="288.4" textLength="36.6" clip-path="url(#terminal-2663349072-line-11)">&#160;&#160;</text><text class="terminal-2663349072-r5" x="207.4" y="288.4" textLength="170.8" clip-path="url(#terminal-2663349072-line-11)">show&#160;this&#160;help</text><text class="terminal-2663349072-r2" x="573.4" y="288.4" textLength="12.2" clip-path="url(#terminal-2663349072-line-11)"> </text><text class="terminal-2630318916-r6" x="0" y="288.4" textLength="170.8" clip-path="url(#terminal-2630318916-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;h&#160;help</text><text class="terminal-2630318916-r2" x="170.8" y="288.4" textLength="36.6" clip-path="url(#terminal-2630318916-line-11)">&#160;&#160;</text><text class="terminal-2630318916-r7" x="207.4" y="288.4" textLength="170.8" clip-path="url(#terminal-2630318916-line-11)">show&#160;this&#160;help</text><text class="terminal-2630318916-r2" x="573.4" y="288.4" textLength="12.2" clip-path="url(#terminal-2630318916-line-11)">
</text><text class="terminal-2663349072-r2" x="573.4" y="312.8" textLength="12.2" clip-path="url(#terminal-2663349072-line-12)"> </text><text class="terminal-2630318916-r2" x="573.4" y="312.8" textLength="12.2" clip-path="url(#terminal-2630318916-line-12)">
</text> </text>
</g> </g>
</g> </g>

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB