···11-#!/bin/bash
22-33-SEP=
44-SEPE=
55-66-MUSIC_ICO=♫
77-88-WIDTH="${1}"
99-1010-SMALL=80
1111-MEDIUM=140
1212-1313-tmux-music() {
1414- if [ "0$WIDTH" -gt "0$MEDIUM" ]; then
1515- state=$(osascript -e 'tell application "iTunes" to player state as string');
1616- if [ $state = "playing" ]; then
1717- artist=$(osascsript -e 'tell application "iTunes" to artist of current track as string');
1818- track=$(osascript -e 'tell application "iTunes" to name of current track as string');
1919- echo "#[fg=colour15]$artist: $track";
2020- fi
2121- fi
2222-}
2323-2424-tmux-uname() {
2525- if [ "0$WIDTH" -ge "0$SMALL" ]; then
2626- echo "#[fg=colour00,bg=colour08,nobold,noitalics,nounderscore]$SEP#[fg=colour15,bg=colour00,bold,noitalics,nounderscore] $(uname -n)"
2727- fi
2828-}
2929-3030-DATE="#[fg=colour08,nobold,noitalics,nounderscore]$SEP#[fg=colour00,bg=colour08,nobold,noitalics,nounderscore] $(date +'%d.%m.%y')"
3131-TIME="#[fg=colour00,bg=colour08,nobold,noitalics,nounderscore]$SEPE#[fg=colour00,bg=colour08,nobold,noitalics,nounderscore] $(date +'%H:%M')"
3232-3333-echo "$(tmux-music) $DATE $TIME $(tmux-uname) " | sed 's/ *$/ /g'
···11-#
22-# OpenSSL example configuration file.
33-# This is mostly being used for generation of certificate requests.
44-#
55-66-# This definition stops the following lines choking if HOME isn't
77-# defined.
88-HOME = .
99-RANDFILE = $ENV::HOME/.rnd
1010-1111-# Extra OBJECT IDENTIFIER info:
1212-#oid_file = $ENV::HOME/.oid
1313-oid_section = new_oids
1414-1515-# To use this configuration file with the "-extfile" option of the
1616-# "openssl x509" utility, name here the section containing the
1717-# X.509v3 extensions to use:
1818-# extensions =
1919-# (Alternatively, use a configuration file that has only
2020-# X.509v3 extensions in its main [= default] section.)
2121-2222-[ new_oids ]
2323-2424-# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
2525-# Add a simple OID like this:
2626-# testoid1=1.2.3.4
2727-# Or use config file substitution like this:
2828-# testoid2=${testoid1}.5.6
2929-3030-# Policies used by the TSA examples.
3131-tsa_policy1 = 1.2.3.4.1
3232-tsa_policy2 = 1.2.3.4.5.6
3333-tsa_policy3 = 1.2.3.4.5.7
3434-3535-####################################################################
3636-[ ca ]
3737-default_ca = CA_default # The default ca section
3838-3939-####################################################################
4040-[ CA_default ]
4141-4242-dir = ./demoCA # Where everything is kept
4343-certs = $dir/certs # Where the issued certs are kept
4444-crl_dir = $dir/crl # Where the issued crl are kept
4545-database = $dir/index.txt # database index file.
4646-#unique_subject = no # Set to 'no' to allow creation of
4747- # several ctificates with same subject.
4848-new_certs_dir = $dir/newcerts # default place for new certs.
4949-5050-certificate = $dir/cacert.pem # The CA certificate
5151-serial = $dir/serial # The current serial number
5252-crlnumber = $dir/crlnumber # the current crl number
5353- # must be commented out to leave a V1 CRL
5454-crl = $dir/crl.pem # The current CRL
5555-private_key = $dir/private/cakey.pem# The private key
5656-RANDFILE = $dir/private/.rand # private random number file
5757-5858-x509_extensions = usr_cert # The extentions to add to the cert
5959-6060-# Comment out the following two lines for the "traditional"
6161-# (and highly broken) format.
6262-name_opt = ca_default # Subject Name options
6363-cert_opt = ca_default # Certificate field options
6464-6565-# Extension copying option: use with caution.
6666-# copy_extensions = copy
6767-6868-# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
6969-# so this is commented out by default to leave a V1 CRL.
7070-# crlnumber must also be commented out to leave a V1 CRL.
7171-# crl_extensions = crl_ext
7272-7373-default_days = 365 # how long to certify for
7474-default_crl_days= 30 # how long before next CRL
7575-default_md = default # use public key default MD
7676-preserve = no # keep passed DN ordering
7777-7878-# A few difference way of specifying how similar the request should look
7979-# For type CA, the listed attributes must be the same, and the optional
8080-# and supplied fields are just that :-)
8181-policy = policy_match
8282-8383-# For the CA policy
8484-[ policy_match ]
8585-countryName = match
8686-stateOrProvinceName = match
8787-organizationName = match
8888-organizationalUnitName = optional
8989-commonName = supplied
9090-emailAddress = optional
9191-9292-# For the 'anything' policy
9393-# At this point in time, you must list all acceptable 'object'
9494-# types.
9595-[ policy_anything ]
9696-countryName = optional
9797-stateOrProvinceName = optional
9898-localityName = optional
9999-organizationName = optional
100100-organizationalUnitName = optional
101101-commonName = supplied
102102-emailAddress = optional
103103-104104-####################################################################
105105-[ req ]
106106-default_bits = 2048
107107-default_keyfile = privkey.pem
108108-distinguished_name = req_distinguished_name
109109-attributes = req_attributes
110110-x509_extensions = v3_ca # The extentions to add to the self signed cert
111111-112112-# Passwords for private keys if not present they will be prompted for
113113-# input_password = secret
114114-# output_password = secret
115115-116116-# This sets a mask for permitted string types. There are several options.
117117-# default: PrintableString, T61String, BMPString.
118118-# pkix : PrintableString, BMPString (PKIX recommendation before 2004)
119119-# utf8only: only UTF8Strings (PKIX recommendation after 2004).
120120-# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
121121-# MASK:XXXX a literal mask value.
122122-# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.
123123-string_mask = utf8only
124124-125125-# req_extensions = v3_req # The extensions to add to a certificate request
126126-127127-[ req_distinguished_name ]
128128-countryName = Country Name (2 letter code)
129129-countryName_default = AU
130130-countryName_min = 2
131131-countryName_max = 2
132132-133133-stateOrProvinceName = State or Province Name (full name)
134134-stateOrProvinceName_default = Some-State
135135-136136-localityName = Locality Name (eg, city)
137137-138138-0.organizationName = Organization Name (eg, company)
139139-0.organizationName_default = Internet Widgits Pty Ltd
140140-141141-# we can do this but it is not needed normally :-)
142142-#1.organizationName = Second Organization Name (eg, company)
143143-#1.organizationName_default = World Wide Web Pty Ltd
144144-145145-organizationalUnitName = Organizational Unit Name (eg, section)
146146-#organizationalUnitName_default =
147147-148148-commonName = Common Name (e.g. server FQDN or YOUR name)
149149-commonName_max = 64
150150-151151-emailAddress = Email Address
152152-emailAddress_max = 64
153153-154154-# SET-ex3 = SET extension number 3
155155-156156-[ req_attributes ]
157157-challengePassword = A challenge password
158158-challengePassword_min = 4
159159-challengePassword_max = 20
160160-161161-unstructuredName = An optional company name
162162-163163-[ usr_cert ]
164164-165165-# These extensions are added when 'ca' signs a request.
166166-167167-# This goes against PKIX guidelines but some CAs do it and some software
168168-# requires this to avoid interpreting an end user certificate as a CA.
169169-170170-basicConstraints=CA:FALSE
171171-172172-# Here are some examples of the usage of nsCertType. If it is omitted
173173-# the certificate can be used for anything *except* object signing.
174174-175175-# This is OK for an SSL server.
176176-# nsCertType = server
177177-178178-# For an object signing certificate this would be used.
179179-# nsCertType = objsign
180180-181181-# For normal client use this is typical
182182-# nsCertType = client, email
183183-184184-# and for everything including object signing:
185185-# nsCertType = client, email, objsign
186186-187187-# This is typical in keyUsage for a client certificate.
188188-# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
189189-190190-# This will be displayed in Netscape's comment listbox.
191191-nsComment = "OpenSSL Generated Certificate"
192192-193193-# PKIX recommendations harmless if included in all certificates.
194194-subjectKeyIdentifier=hash
195195-authorityKeyIdentifier=keyid,issuer
196196-197197-# This stuff is for subjectAltName and issuerAltname.
198198-# Import the email address.
199199-# subjectAltName=email:copy
200200-# An alternative to produce certificates that aren't
201201-# deprecated according to PKIX.
202202-# subjectAltName=email:move
203203-204204-# Copy subject details
205205-# issuerAltName=issuer:copy
206206-207207-#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
208208-#nsBaseUrl
209209-#nsRevocationUrl
210210-#nsRenewalUrl
211211-#nsCaPolicyUrl
212212-#nsSslServerName
213213-214214-# This is required for TSA certificates.
215215-# extendedKeyUsage = critical,timeStamping
216216-217217-[ v3_req ]
218218-219219-# Extensions to add to a certificate request
220220-221221-basicConstraints = CA:FALSE
222222-keyUsage = nonRepudiation, digitalSignature, keyEncipherment
223223-224224-[ v3_ca ]
225225-226226-227227-# Extensions for a typical CA
228228-229229-230230-# PKIX recommendation.
231231-232232-subjectKeyIdentifier=hash
233233-234234-authorityKeyIdentifier=keyid:always,issuer
235235-236236-# This is what PKIX recommends but some broken software chokes on critical
237237-# extensions.
238238-#basicConstraints = critical,CA:true
239239-# So we do this instead.
240240-basicConstraints = CA:true
241241-242242-# Key usage: this is typical for a CA certificate. However since it will
243243-# prevent it being used as an test self-signed certificate it is best
244244-# left out by default.
245245-# keyUsage = cRLSign, keyCertSign
246246-247247-# Some might want this also
248248-# nsCertType = sslCA, emailCA
249249-250250-# Include email address in subject alt name: another PKIX recommendation
251251-# subjectAltName=email:copy
252252-# Copy issuer details
253253-# issuerAltName=issuer:copy
254254-255255-# DER hex encoding of an extension: beware experts only!
256256-# obj=DER:02:03
257257-# Where 'obj' is a standard or added object
258258-# You can even override a supported extension:
259259-# basicConstraints= critical, DER:30:03:01:01:FF
260260-261261-subjectAltName = @alt_names
262262-[alt_names]
263263-DNS.1 = *.localhost
264264-DNS.2 = *.*.localhost
265265-266266-[ crl_ext ]
267267-268268-# CRL extensions.
269269-# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
270270-271271-# issuerAltName=issuer:copy
272272-authorityKeyIdentifier=keyid:always
273273-274274-[ proxy_cert_ext ]
275275-# These extensions should be added when creating a proxy certificate
276276-277277-# This goes against PKIX guidelines but some CAs do it and some software
278278-# requires this to avoid interpreting an end user certificate as a CA.
279279-280280-basicConstraints=CA:FALSE
281281-282282-# Here are some examples of the usage of nsCertType. If it is omitted
283283-# the certificate can be used for anything *except* object signing.
284284-285285-# This is OK for an SSL server.
286286-# nsCertType = server
287287-288288-# For an object signing certificate this would be used.
289289-# nsCertType = objsign
290290-291291-# For normal client use this is typical
292292-# nsCertType = client, email
293293-294294-# and for everything including object signing:
295295-# nsCertType = client, email, objsign
296296-297297-# This is typical in keyUsage for a client certificate.
298298-# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
299299-300300-# This will be displayed in Netscape's comment listbox.
301301-nsComment = "OpenSSL Generated Certificate"
302302-303303-# PKIX recommendations harmless if included in all certificates.
304304-subjectKeyIdentifier=hash
305305-authorityKeyIdentifier=keyid,issuer
306306-307307-# This stuff is for subjectAltName and issuerAltname.
308308-# Import the email address.
309309-# subjectAltName=email:copy
310310-# An alternative to produce certificates that aren't
311311-# deprecated according to PKIX.
312312-# subjectAltName=email:move
313313-314314-# Copy subject details
315315-# issuerAltName=issuer:copy
316316-317317-#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
318318-#nsBaseUrl
319319-#nsRevocationUrl
320320-#nsRenewalUrl
321321-#nsCaPolicyUrl
322322-#nsSslServerName
323323-324324-# This really needs to be in place for it to be a proxy certificate.
325325-proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
326326-327327-####################################################################
328328-[ tsa ]
329329-330330-default_tsa = tsa_config1 # the default TSA section
331331-332332-[ tsa_config1 ]
333333-334334-# These are used by the TSA reply generation only.
335335-dir = ./demoCA # TSA root directory
336336-serial = $dir/tsaserial # The current serial number (mandatory)
337337-crypto_device = builtin # OpenSSL engine to use for signing
338338-signer_cert = $dir/tsacert.pem # The TSA signing certificate
339339- # (optional)
340340-certs = $dir/cacert.pem # Certificate chain to include in reply
341341- # (optional)
342342-signer_key = $dir/private/tsakey.pem # The TSA private key (optional)
343343-344344-default_policy = tsa_policy1 # Policy if request did not specify it
345345- # (optional)
346346-other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)
347347-digests = md5, sha1 # Acceptable message digests (mandatory)
348348-accuracy = secs:1, millisecs:500, microsecs:100 # (optional)
349349-clock_precision_digits = 0 # number of digits after dot. (optional)
350350-ordering = yes # Is ordering defined for timestamps?
351351- # (optional, default: no)
352352-tsa_name = yes # Must the TSA name be included in the reply?
353353- # (optional, default: no)
354354-ess_cert_id_chain = no # Must the ESS cert id chain be included?
355355- # (optional, default: no)
···11+complete -c rustup -n "__fish_use_subcommand" -s v -l verbose -d 'Enable verbose output'
22+complete -c rustup -n "__fish_use_subcommand" -s h -l help -d 'Prints help information'
33+complete -c rustup -n "__fish_use_subcommand" -s V -l version -d 'Prints version information'
44+complete -c rustup -n "__fish_use_subcommand" -f -a "show" -d 'Show the active and installed toolchains'
55+complete -c rustup -n "__fish_use_subcommand" -f -a "install" -d 'Update Rust toolchains'
66+complete -c rustup -n "__fish_use_subcommand" -f -a "uninstall" -d 'Uninstall Rust toolchains'
77+complete -c rustup -n "__fish_use_subcommand" -f -a "update" -d 'Update Rust toolchains and rustup'
88+complete -c rustup -n "__fish_use_subcommand" -f -a "default" -d 'Set the default toolchain'
99+complete -c rustup -n "__fish_use_subcommand" -f -a "toolchain" -d 'Modify or query the installed toolchains'
1010+complete -c rustup -n "__fish_use_subcommand" -f -a "target" -d 'Modify a toolchain\'s supported targets'
1111+complete -c rustup -n "__fish_use_subcommand" -f -a "component" -d 'Modify a toolchain\'s installed components'
1212+complete -c rustup -n "__fish_use_subcommand" -f -a "override" -d 'Modify directory toolchain overrides'
1313+complete -c rustup -n "__fish_use_subcommand" -f -a "run" -d 'Run a command with an environment configured for a given toolchain'
1414+complete -c rustup -n "__fish_use_subcommand" -f -a "which" -d 'Display which binary will be run for a given command'
1515+complete -c rustup -n "__fish_use_subcommand" -f -a "doc" -d 'Open the documentation for the current toolchain'
1616+complete -c rustup -n "__fish_use_subcommand" -f -a "man" -d 'View the man page for a given command'
1717+complete -c rustup -n "__fish_use_subcommand" -f -a "self" -d 'Modify the rustup installation'
1818+complete -c rustup -n "__fish_use_subcommand" -f -a "telemetry" -d 'rustup telemetry commands'
1919+complete -c rustup -n "__fish_use_subcommand" -f -a "set" -d 'Alter rustup settings'
2020+complete -c rustup -n "__fish_use_subcommand" -f -a "completions" -d 'Generate completion scripts for your shell'
2121+complete -c rustup -n "__fish_use_subcommand" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
2222+complete -c rustup -n "__fish_seen_subcommand_from show" -s h -l help -d 'Prints help information'
2323+complete -c rustup -n "__fish_seen_subcommand_from show" -s V -l version -d 'Prints version information'
2424+complete -c rustup -n "__fish_seen_subcommand_from show" -f -a "active-toolchain" -d 'Show the active toolchain'
2525+complete -c rustup -n "__fish_seen_subcommand_from show" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
2626+complete -c rustup -n "__fish_seen_subcommand_from active-toolchain" -s h -l help -d 'Prints help information'
2727+complete -c rustup -n "__fish_seen_subcommand_from active-toolchain" -s V -l version -d 'Prints version information'
2828+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
2929+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
3030+complete -c rustup -n "__fish_seen_subcommand_from install" -s h -l help -d 'Prints help information'
3131+complete -c rustup -n "__fish_seen_subcommand_from install" -s V -l version -d 'Prints version information'
3232+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s h -l help -d 'Prints help information'
3333+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s V -l version -d 'Prints version information'
3434+complete -c rustup -n "__fish_seen_subcommand_from update" -l no-self-update -d 'Don\'t perform self update when running the `rustup` command'
3535+complete -c rustup -n "__fish_seen_subcommand_from update" -l force -d 'Force an update, even if some components are missing'
3636+complete -c rustup -n "__fish_seen_subcommand_from update" -s h -l help -d 'Prints help information'
3737+complete -c rustup -n "__fish_seen_subcommand_from update" -s V -l version -d 'Prints version information'
3838+complete -c rustup -n "__fish_seen_subcommand_from default" -s h -l help -d 'Prints help information'
3939+complete -c rustup -n "__fish_seen_subcommand_from default" -s V -l version -d 'Prints version information'
4040+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -s h -l help -d 'Prints help information'
4141+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -s V -l version -d 'Prints version information'
4242+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -f -a "list" -d 'List installed toolchains'
4343+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -f -a "install" -d 'Install or update a given toolchain'
4444+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -f -a "uninstall" -d 'Uninstall a toolchain'
4545+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -f -a "link" -d 'Create a custom toolchain by symlinking to a directory'
4646+complete -c rustup -n "__fish_seen_subcommand_from toolchain" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
4747+complete -c rustup -n "__fish_seen_subcommand_from list" -s h -l help -d 'Prints help information'
4848+complete -c rustup -n "__fish_seen_subcommand_from list" -s V -l version -d 'Prints version information'
4949+complete -c rustup -n "__fish_seen_subcommand_from install" -s h -l help -d 'Prints help information'
5050+complete -c rustup -n "__fish_seen_subcommand_from install" -s V -l version -d 'Prints version information'
5151+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s h -l help -d 'Prints help information'
5252+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s V -l version -d 'Prints version information'
5353+complete -c rustup -n "__fish_seen_subcommand_from link" -s h -l help -d 'Prints help information'
5454+complete -c rustup -n "__fish_seen_subcommand_from link" -s V -l version -d 'Prints version information'
5555+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
5656+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
5757+complete -c rustup -n "__fish_seen_subcommand_from target" -s h -l help -d 'Prints help information'
5858+complete -c rustup -n "__fish_seen_subcommand_from target" -s V -l version -d 'Prints version information'
5959+complete -c rustup -n "__fish_seen_subcommand_from target" -f -a "list" -d 'List installed and available targets'
6060+complete -c rustup -n "__fish_seen_subcommand_from target" -f -a "add" -d 'Add a target to a Rust toolchain'
6161+complete -c rustup -n "__fish_seen_subcommand_from target" -f -a "remove" -d 'Remove a target from a Rust toolchain'
6262+complete -c rustup -n "__fish_seen_subcommand_from target" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
6363+complete -c rustup -n "__fish_seen_subcommand_from list" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
6464+complete -c rustup -n "__fish_seen_subcommand_from list" -s h -l help -d 'Prints help information'
6565+complete -c rustup -n "__fish_seen_subcommand_from list" -s V -l version -d 'Prints version information'
6666+complete -c rustup -n "__fish_seen_subcommand_from add" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
6767+complete -c rustup -n "__fish_seen_subcommand_from add" -s h -l help -d 'Prints help information'
6868+complete -c rustup -n "__fish_seen_subcommand_from add" -s V -l version -d 'Prints version information'
6969+complete -c rustup -n "__fish_seen_subcommand_from remove" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
7070+complete -c rustup -n "__fish_seen_subcommand_from remove" -s h -l help -d 'Prints help information'
7171+complete -c rustup -n "__fish_seen_subcommand_from remove" -s V -l version -d 'Prints version information'
7272+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
7373+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
7474+complete -c rustup -n "__fish_seen_subcommand_from component" -s h -l help -d 'Prints help information'
7575+complete -c rustup -n "__fish_seen_subcommand_from component" -s V -l version -d 'Prints version information'
7676+complete -c rustup -n "__fish_seen_subcommand_from component" -f -a "list" -d 'List installed and available components'
7777+complete -c rustup -n "__fish_seen_subcommand_from component" -f -a "add" -d 'Add a component to a Rust toolchain'
7878+complete -c rustup -n "__fish_seen_subcommand_from component" -f -a "remove" -d 'Remove a component from a Rust toolchain'
7979+complete -c rustup -n "__fish_seen_subcommand_from component" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
8080+complete -c rustup -n "__fish_seen_subcommand_from list" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
8181+complete -c rustup -n "__fish_seen_subcommand_from list" -s h -l help -d 'Prints help information'
8282+complete -c rustup -n "__fish_seen_subcommand_from list" -s V -l version -d 'Prints version information'
8383+complete -c rustup -n "__fish_seen_subcommand_from add" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
8484+complete -c rustup -n "__fish_seen_subcommand_from add" -l target
8585+complete -c rustup -n "__fish_seen_subcommand_from add" -s h -l help -d 'Prints help information'
8686+complete -c rustup -n "__fish_seen_subcommand_from add" -s V -l version -d 'Prints version information'
8787+complete -c rustup -n "__fish_seen_subcommand_from remove" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
8888+complete -c rustup -n "__fish_seen_subcommand_from remove" -l target
8989+complete -c rustup -n "__fish_seen_subcommand_from remove" -s h -l help -d 'Prints help information'
9090+complete -c rustup -n "__fish_seen_subcommand_from remove" -s V -l version -d 'Prints version information'
9191+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
9292+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
9393+complete -c rustup -n "__fish_seen_subcommand_from override" -s h -l help -d 'Prints help information'
9494+complete -c rustup -n "__fish_seen_subcommand_from override" -s V -l version -d 'Prints version information'
9595+complete -c rustup -n "__fish_seen_subcommand_from override" -f -a "list" -d 'List directory toolchain overrides'
9696+complete -c rustup -n "__fish_seen_subcommand_from override" -f -a "set" -d 'Set the override toolchain for a directory'
9797+complete -c rustup -n "__fish_seen_subcommand_from override" -f -a "unset" -d 'Remove the override toolchain for a directory'
9898+complete -c rustup -n "__fish_seen_subcommand_from override" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
9999+complete -c rustup -n "__fish_seen_subcommand_from list" -s h -l help -d 'Prints help information'
100100+complete -c rustup -n "__fish_seen_subcommand_from list" -s V -l version -d 'Prints version information'
101101+complete -c rustup -n "__fish_seen_subcommand_from set" -s h -l help -d 'Prints help information'
102102+complete -c rustup -n "__fish_seen_subcommand_from set" -s V -l version -d 'Prints version information'
103103+complete -c rustup -n "__fish_seen_subcommand_from unset" -l path -d 'Path to the directory'
104104+complete -c rustup -n "__fish_seen_subcommand_from unset" -l nonexistent -d 'Remove override toolchain for all nonexistent directories'
105105+complete -c rustup -n "__fish_seen_subcommand_from unset" -s h -l help -d 'Prints help information'
106106+complete -c rustup -n "__fish_seen_subcommand_from unset" -s V -l version -d 'Prints version information'
107107+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
108108+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
109109+complete -c rustup -n "__fish_seen_subcommand_from run" -l install -d 'Install the requested toolchain if needed'
110110+complete -c rustup -n "__fish_seen_subcommand_from run" -s h -l help -d 'Prints help information'
111111+complete -c rustup -n "__fish_seen_subcommand_from run" -s V -l version -d 'Prints version information'
112112+complete -c rustup -n "__fish_seen_subcommand_from which" -s h -l help -d 'Prints help information'
113113+complete -c rustup -n "__fish_seen_subcommand_from which" -s V -l version -d 'Prints version information'
114114+complete -c rustup -n "__fish_seen_subcommand_from doc" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
115115+complete -c rustup -n "__fish_seen_subcommand_from doc" -l path -d 'Only print the path to the documentation'
116116+complete -c rustup -n "__fish_seen_subcommand_from doc" -l book -d 'The Rust Programming Language book'
117117+complete -c rustup -n "__fish_seen_subcommand_from doc" -l std -d 'Standard library API documentation'
118118+complete -c rustup -n "__fish_seen_subcommand_from doc" -l reference -d 'The Rust Reference'
119119+complete -c rustup -n "__fish_seen_subcommand_from doc" -s h -l help -d 'Prints help information'
120120+complete -c rustup -n "__fish_seen_subcommand_from doc" -s V -l version -d 'Prints version information'
121121+complete -c rustup -n "__fish_seen_subcommand_from man" -l toolchain -d 'Toolchain name, such as \'stable\', \'nightly\', or \'1.8.0\'. For more information see `rustup help toolchain`'
122122+complete -c rustup -n "__fish_seen_subcommand_from man" -s h -l help -d 'Prints help information'
123123+complete -c rustup -n "__fish_seen_subcommand_from man" -s V -l version -d 'Prints version information'
124124+complete -c rustup -n "__fish_seen_subcommand_from self" -s h -l help -d 'Prints help information'
125125+complete -c rustup -n "__fish_seen_subcommand_from self" -s V -l version -d 'Prints version information'
126126+complete -c rustup -n "__fish_seen_subcommand_from self" -f -a "update" -d 'Download and install updates to rustup'
127127+complete -c rustup -n "__fish_seen_subcommand_from self" -f -a "uninstall" -d 'Uninstall rustup.'
128128+complete -c rustup -n "__fish_seen_subcommand_from self" -f -a "upgrade-data" -d 'Upgrade the internal data format.'
129129+complete -c rustup -n "__fish_seen_subcommand_from self" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
130130+complete -c rustup -n "__fish_seen_subcommand_from update" -s h -l help -d 'Prints help information'
131131+complete -c rustup -n "__fish_seen_subcommand_from update" -s V -l version -d 'Prints version information'
132132+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s y
133133+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s h -l help -d 'Prints help information'
134134+complete -c rustup -n "__fish_seen_subcommand_from uninstall" -s V -l version -d 'Prints version information'
135135+complete -c rustup -n "__fish_seen_subcommand_from upgrade-data" -s h -l help -d 'Prints help information'
136136+complete -c rustup -n "__fish_seen_subcommand_from upgrade-data" -s V -l version -d 'Prints version information'
137137+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
138138+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
139139+complete -c rustup -n "__fish_seen_subcommand_from telemetry" -s h -l help -d 'Prints help information'
140140+complete -c rustup -n "__fish_seen_subcommand_from telemetry" -s V -l version -d 'Prints version information'
141141+complete -c rustup -n "__fish_seen_subcommand_from telemetry" -f -a "enable" -d 'Enable rustup telemetry'
142142+complete -c rustup -n "__fish_seen_subcommand_from telemetry" -f -a "disable" -d 'Disable rustup telemetry'
143143+complete -c rustup -n "__fish_seen_subcommand_from telemetry" -f -a "analyze" -d 'Analyze stored telemetry'
144144+complete -c rustup -n "__fish_seen_subcommand_from telemetry" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
145145+complete -c rustup -n "__fish_seen_subcommand_from enable" -s h -l help -d 'Prints help information'
146146+complete -c rustup -n "__fish_seen_subcommand_from enable" -s V -l version -d 'Prints version information'
147147+complete -c rustup -n "__fish_seen_subcommand_from disable" -s h -l help -d 'Prints help information'
148148+complete -c rustup -n "__fish_seen_subcommand_from disable" -s V -l version -d 'Prints version information'
149149+complete -c rustup -n "__fish_seen_subcommand_from analyze" -s h -l help -d 'Prints help information'
150150+complete -c rustup -n "__fish_seen_subcommand_from analyze" -s V -l version -d 'Prints version information'
151151+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
152152+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
153153+complete -c rustup -n "__fish_seen_subcommand_from set" -s h -l help -d 'Prints help information'
154154+complete -c rustup -n "__fish_seen_subcommand_from set" -s V -l version -d 'Prints version information'
155155+complete -c rustup -n "__fish_seen_subcommand_from set" -f -a "default-host" -d 'The triple used to identify toolchains when not specified'
156156+complete -c rustup -n "__fish_seen_subcommand_from set" -f -a "help" -d 'Prints this message or the help of the given subcommand(s)'
157157+complete -c rustup -n "__fish_seen_subcommand_from default-host" -s h -l help -d 'Prints help information'
158158+complete -c rustup -n "__fish_seen_subcommand_from default-host" -s V -l version -d 'Prints version information'
159159+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
160160+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
161161+complete -c rustup -n "__fish_seen_subcommand_from completions" -s h -l help -d 'Prints help information'
162162+complete -c rustup -n "__fish_seen_subcommand_from completions" -s V -l version -d 'Prints version information'
163163+complete -c rustup -n "__fish_seen_subcommand_from help" -s h -l help -d 'Prints help information'
164164+complete -c rustup -n "__fish_seen_subcommand_from help" -s V -l version -d 'Prints version information'
···11+#!/bin/sh
22+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\n"; exit 2; }
33+git lfs post-checkout "$@"
+3
git/.config/git/hooks.d/lfs/post-commit
···11+#!/bin/sh
22+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\n"; exit 2; }
33+git lfs post-commit "$@"
+3
git/.config/git/hooks.d/lfs/post-merge
···11+#!/bin/sh
22+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\n"; exit 2; }
33+git lfs post-merge "$@"
+3
git/.config/git/hooks.d/lfs/pre-push
···11+#!/bin/sh
22+command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/post-merge.\n"; exit 2; }
33+git lfs pre-push "$@"
+58
git/.config/git/hooks.d/wip-check/pre-push
···11+#!/bin/sh
22+33+# An example hook script to verify what is about to be pushed. Called by "git
44+# push" after it has checked the remote status, but before anything has been
55+# pushed. If this script exits with a non-zero status nothing will be pushed.
66+#
77+# This hook is called with the following parameters:
88+#
99+# $1 -- Name of the remote to which the push is being done
1010+# $2 -- URL to which the push is being done
1111+#
1212+# If pushing without using a named remote those arguments will be equal.
1313+#
1414+# Information about the commits which are being pushed is supplied as lines to
1515+# the standard input in the form:
1616+#
1717+# <local ref> <local sha1> <remote ref> <remote sha1>
1818+#
1919+# This sample shows how to prevent push of commits where the log message starts
2020+# with "WIP" (work in progress).
2121+2222+2323+z40=0000000000000000000000000000000000000000
2424+2525+IFS=' '
2626+while read local_ref local_sha remote_ref remote_sha
2727+do
2828+ if [ "$local_sha" = "$z40" ]
2929+ then
3030+ # Handle delete
3131+ :
3232+ else
3333+ if [ "$remote_sha" = "$z40" ]
3434+ then
3535+ master_branch="$(git config --get riff.wip.master)"
3636+ # New branch, examine all commits
3737+ if [ -z "$master_branch" ]
3838+ then
3939+ range="$local_sha"
4040+ else
4141+ range="$local_sha...$master_branch"
4242+ fi
4343+ else
4444+ # Update to existing branch, examine new commits
4545+ range="$remote_sha..$local_sha"
4646+ fi
4747+4848+ # Check for WIP commit
4949+ commit="$(git rev-list --count -i --grep '^WIP' "$range")"
5050+ if [ "$commit" -ne "0" ]
5151+ then
5252+ echo "Found WIP $commit commit(s) in $local_ref, not pushing"
5353+ exit 1
5454+ fi
5555+ fi
5656+done
5757+5858+exit 0
···11-#!/bin/sh
22-33-# An example hook script to verify what is about to be pushed. Called by "git
44-# push" after it has checked the remote status, but before anything has been
55-# pushed. If this script exits with a non-zero status nothing will be pushed.
66-#
77-# This hook is called with the following parameters:
88-#
99-# $1 -- Name of the remote to which the push is being done
1010-# $2 -- URL to which the push is being done
1111-#
1212-# If pushing without using a named remote those arguments will be equal.
1313-#
1414-# Information about the commits which are being pushed is supplied as lines to
1515-# the standard input in the form:
1616-#
1717-# <local ref> <local sha1> <remote ref> <remote sha1>
1818-#
1919-# This sample shows how to prevent push of commits where the log message starts
2020-# with "WIP" (work in progress).
2121-2222-2323-z40=0000000000000000000000000000000000000000
2424-2525-IFS=' '
2626-while read local_ref local_sha remote_ref remote_sha
2727-do
2828- if [ "$local_sha" = "$z40" ]
2929- then
3030- # Handle delete
3131- :
3232- else
3333- if [ "$remote_sha" = "$z40" ]
3434- then
3535- # New branch, examine all commits
3636- range="$local_sha"
3737- else
3838- # Update to existing branch, examine new commits
3939- range="$remote_sha..$local_sha"
4040- fi
4141-4242- # Check for WIP commit
4343- commit="$(git rev-list -n 1 -i --grep '^WIP' "$range")"
4444- if [ -n "$commit" ]
4545- then
4646- echo "Found WIP commit in $local_ref, not pushing"
4747- exit 1
4848- fi
4949- fi
5050-done
5151-5252-exit 0
-87
git/hooks/hook.sh
···11-#!/bin/bash
22-33-hooks=(post-checkout post-commit post-merge pre-commit pre-push prepare-commit-msg)
44-55-usage() {
66- echo "$0 [install|help]"
77- echo 'Version 0.1.0'
88- echo 'Copyright (c) Łukasz Niemier <opensource@niemier.pl>'
99- echo
1010- echo 'Simple git hooks management system'
1111- echo
1212- echo 'install [hook_dir]'
1313- echo ' Installs hooks for given repo.'
1414- echo
1515- echo ' [hook_dir] - directory where install hooks, defaults to .git/hooks'
1616- echo ' in current Git working directory'
1717- echo 'help'
1818- echo ' display this message'
1919- echo
2020- echo 'To use this as default set of hooks when creating new repo then:'
2121- echo
2222- echo " 1. Run '$0 ~/.githooks'"
2323- echo ' 2. Run 'git config --global core.hooksPath ~/.githooks''
2424- echo
2525-}
2626-2727-install() {
2828- source="${BASH_SOURCE[0]}"
2929- HOOK_DIR="${1:-"$(git rev-parse --show-toplevel)/.git/hooks"}"
3030-3131- echo "Install handler"
3232- echo
3333-3434- mkdir -p "$HOOK_DIR"
3535- cp -i "$source" "$HOOK_DIR/hook.sh"
3636-3737- echo "Installing hooks"
3838- echo
3939-4040- for hook in "${hooks[@]}"
4141- do
4242- echo "Installing $hook"
4343- ln -si "hook.sh" "$HOOK_DIR/$hook"
4444- done
4545-}
4646-4747-hook() {
4848- script="$(basename "$0")"
4949- PLUG_DIRS=("$(command git config --get hooks.path)" "$GIT_DIR/hooks/hooks.d")
5050-5151- test -d "$GIT_DIR"/rebase-merge -o -d "$GIT_DIR"/rebase-apply && exit 0
5252-5353- input="$(mktemp)"
5454- touch "$input"
5555- trap '{ rm -f "$input"; }' EXIT
5656- cat - > "$input"
5757-5858- for dir in "${PLUG_DIRS[@]}"
5959- do
6060- if [ -d "$dir" ]
6161- then
6262- find "$dir" -depth 2 -and -name "$script" -print0 2>/dev/null \
6363- | xargs -0 -n1 -I% sh -c 'input="$1"; shift; if [ -x "$1" ]; then printf "\n## $(basename "$(dirname "$1")")\n" && exec "$@" < "$input"; fi' -- "$input" % "$@"
6464- retval="$?"
6565-6666- if [ ! "$retval" -eq 0 ]
6767- then
6868- return "$retval"
6969- fi
7070- fi
7171- done
7272-}
7373-7474-case "$1" in
7575- install)
7676- shift
7777- install "$@"
7878- exit
7979- ;;
8080- help|-h|--help|version|-v|-V|--version)
8181- shift
8282- usage
8383- exit
8484- ;;
8585- *)
8686- hook "$@"
8787-esac
···11-# A xterm-256color based TERMINFO that adds the escape sequences for italic.
22-xterm-256color|xterm with 256 colors and italic,
33- sitm=\E[3m, ritm=\E[23m,
44- use=xterm-256color,
55- kbs=\177,
+812
kitty/.config/kitty/kitty.conf
···11+# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
22+33+#: Fonts {{{
44+55+#: kitty has very powerful font management. You can configure
66+#: individual font faces and even specify special fonts for particular
77+#: characters.
88+99+font_family Iosevka Term SS10 Medium
1010+bold_font Iosevka Term SS10 Bold
1111+italic_font Iosevka Term SS10 Medium Italic
1212+bold_italic_font Iosevka Term SS10 Bold Italic
1313+1414+#: You can specify different fonts for the bold/italic/bold-italic
1515+#: variants. By default they are derived automatically, by the OSes
1616+#: font system. Setting them manually is useful for font families that
1717+#: have many weight variants like Book, Medium, Thick, etc. For
1818+#: example::
1919+2020+#: font_family Operator Mono Book
2121+#: bold_font Operator Mono Medium
2222+#: italic_font Operator Mono Book Italic
2323+#: bold_italic_font Operator Mono Medium Italic
2424+2525+font_size 14.0
2626+2727+#: Font size (in pts)
2828+2929+# adjust_line_height 0
3030+# adjust_column_width 0
3131+3232+#: Change the size of each character cell kitty renders. You can use
3333+#: either numbers, which are interpreted as pixels or percentages
3434+#: (number followed by %), which are interpreted as percentages of the
3535+#: unmodified values. You can use negative pixels or percentages less
3636+#: than 100% to reduce sizes (but this might cause rendering
3737+#: artifacts).
3838+3939+# symbol_map U+E0A0-U+E0A2,U+E0B0-U+E0B3 PowerlineSymbols
4040+4141+#: Map the specified unicode codepoints to a particular font. Useful
4242+#: if you need special rendering for some symbols, such as for
4343+#: Powerline. Avoids the need for patched fonts. Each unicode code
4444+#: point is specified in the form U+<code point in hexadecimal>. You
4545+#: can specify multiple code points, separated by commas and ranges
4646+#: separated by hyphens. symbol_map itself can be specified multiple
4747+#: times. Syntax is::
4848+4949+#: symbol_map codepoints Font Family Name
5050+5151+# box_drawing_scale 0.001, 1, 1.5, 2
5252+5353+#: Change the sizes of the lines used for the box drawing unicode
5454+#: characters These values are in pts. They will be scaled by the
5555+#: monitor DPI to arrive at a pixel value. There must be four values
5656+#: corresponding to thin, normal, thick, and very thick lines.
5757+5858+#: }}}
5959+6060+#: Cursor customization {{{
6161+6262+cursor #ffffff
6363+6464+#: Default cursor color
6565+6666+# cursor_shape block
6767+6868+#: The cursor shape can be one of (block, beam, underline)
6969+7070+# cursor_blink_interval 0.5
7171+# cursor_stop_blinking_after 15.0
7272+7373+#: The interval (in seconds) at which to blink the cursor. Set to zero
7474+#: to disable blinking. Note that numbers smaller than repaint_delay
7575+#: will be limited to repaint_delay. Stop blinking cursor after the
7676+#: specified number of seconds of keyboard inactivity. Set to zero to
7777+#: never stop blinking.
7878+7979+#: }}}
8080+8181+#: Scrollback {{{
8282+8383+# scrollback_lines 2000
8484+8585+#: Number of lines of history to keep in memory for scrolling back.
8686+#: Memory is allocated on demand.
8787+8888+# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
8989+9090+#: Program with which to view scrollback in a new window. The
9191+#: scrollback buffer is passed as STDIN to this program. If you change
9292+#: it, make sure the program you use can handle ANSI escape sequences
9393+#: for colors and text formatting. INPUT_LINE_NUMBER in the command
9494+#: line above will be replaced by an integer representing which line
9595+#: should be at the top of the screen.
9696+9797+# wheel_scroll_multiplier 5.0
9898+9999+#: Modify the amount scrolled by the mouse wheel or touchpad. Use
100100+#: negative numbers to change scroll direction.
101101+102102+#: }}}
103103+104104+#: Mouse {{{
105105+106106+# url_color #0087BD
107107+# url_style curly
108108+109109+#: The color and style for highlighting URLs on mouse-over. url_style
110110+#: can be one of: none, single, double, curly
111111+112112+# open_url_modifiers kitty_mod
113113+114114+#: The modifier keys to press when clicking with the mouse on URLs to
115115+#: open the URL
116116+117117+# open_url_with default
118118+119119+#: The program with which to open URLs that are clicked on. The
120120+#: special value default means to use the operating system's default
121121+#: URL handler.
122122+123123+# copy_on_select no
124124+125125+#: Copy to clipboard on select. With this enabled, simply selecting
126126+#: text with the mouse will cause the text to be copied to clipboard.
127127+#: Useful on platforms such as macOS/Wayland that do not have the
128128+#: concept of primary selections. Note that this is a security risk,
129129+#: as all programs, including websites open in your browser can read
130130+#: the contents of the clipboard.
131131+132132+# rectangle_select_modifiers ctrl+alt
133133+134134+#: The modifiers to use rectangular selection (i.e. to select text in
135135+#: a rectangular block with the mouse)
136136+137137+# select_by_word_characters :@-./_~?&=%+#
138138+139139+#: Characters considered part of a word when double clicking. In
140140+#: addition to these characters any character that is marked as an
141141+#: alpha-numeric character in the unicode database will be matched.
142142+143143+# click_interval 0.5
144144+145145+#: The interval between successive clicks to detect double/triple
146146+#: clicks (in seconds)
147147+148148+# mouse_hide_wait 3.0
149149+150150+#: Hide mouse cursor after the specified number of seconds of the
151151+#: mouse not being used. Set to zero to disable mouse cursor hiding.
152152+153153+# focus_follows_mouse no
154154+155155+#: Set the active window to the window under the mouse when moving the
156156+#: mouse around
157157+158158+#: }}}
159159+160160+#: Performance tuning {{{
161161+162162+# repaint_delay 10
163163+164164+#: Delay (in milliseconds) between screen updates. Decreasing it,
165165+#: increases frames-per-second (FPS) at the cost of more CPU usage.
166166+#: The default value yields ~100 FPS which is more than sufficient for
167167+#: most uses. Note that to actually achieve 100 FPS you have to either
168168+#: set sync_to_monitor to no or use a monitor with a high refresh
169169+#: rate.
170170+171171+# input_delay 3
172172+173173+#: Delay (in milliseconds) before input from the program running in
174174+#: the terminal is processed. Note that decreasing it will increase
175175+#: responsiveness, but also increase CPU usage and might cause flicker
176176+#: in full screen programs that redraw the entire screen on each loop,
177177+#: because kitty is so fast that partial screen updates will be drawn.
178178+179179+# sync_to_monitor yes
180180+181181+#: Sync screen updates to the refresh rate of the monitor. This
182182+#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing)
183183+#: when scrolling. However, it limits the rendering speed to the
184184+#: refresh rate of your monitor. With a very high speed mouse/high
185185+#: keyboard repeat rate, you may notice some slight input latency. If
186186+#: so, set this to no.
187187+188188+#: }}}
189189+190190+#: Terminal bell {{{
191191+192192+enable_audio_bell false
193193+194194+#: Enable/disable the audio bell. Useful in environments that require
195195+#: silence.
196196+197197+visual_bell_duration 0.1
198198+199199+#: Visual bell duration. Flash the screen when a bell occurs for the
200200+#: specified number of seconds. Set to zero to disable.
201201+202202+# window_alert_on_bell yes
203203+204204+#: Request window attention on bell. Makes the dock icon bounce on
205205+#: macOS or the taskbar flash on linux.
206206+207207+# bell_on_tab yes
208208+209209+#: Show a bell symbol on the tab if a bell occurs in one of the
210210+#: windows in the tab and the window is not the currently focused
211211+#: window
212212+213213+#: }}}
214214+215215+#: Window layout {{{
216216+217217+# remember_window_size yes
218218+# initial_window_width 640
219219+# initial_window_height 400
220220+221221+#: If enabled, the window size will be remembered so that new
222222+#: instances of kitty will have the same size as the previous
223223+#: instance. If disabled, the window will initially have size
224224+#: configured by initial_window_width/height, in pixels. You can use a
225225+#: suffix of "c" on the width/height values to have them interpreted
226226+#: as number of cells instead of pixels.
227227+228228+# enabled_layouts *
229229+230230+#: The enabled window layouts. A comma separated list of layout names.
231231+#: The special value * means all layouts. The first listed layout will
232232+#: be used as the startup layout. For a list of available layouts, see
233233+#: the layouts.
234234+235235+# window_resize_step_cells 2
236236+# window_resize_step_lines 2
237237+238238+#: The step size (in units of cell width/cell height) to use when
239239+#: resizing windows. The cells value is used for horizontal resizing
240240+#: and the lines value for vertical resizing.
241241+242242+# window_border_width 1.0
243243+244244+#: The width (in pts) of window borders. Will be rounded to the
245245+#: nearest number of pixels based on screen resolution. Note that
246246+#: borders are displayed only when more than one window is visible.
247247+#: They are meant to separate multiple windows.
248248+249249+# draw_minimal_borders yes
250250+251251+#: Draw only the minimum borders needed. This means that only the
252252+#: minimum needed borders for inactive windows are drawn. That is only
253253+#: the borders that separate the inactive window from a neighbor. Note
254254+#: that setting a non-zero window margin overrides this and causes all
255255+#: borders to be drawn.
256256+257257+# window_margin_width 10.0
258258+259259+#: The window margin (in pts) (blank area outside the border)
260260+261261+# single_window_margin_width -1000.0
262262+263263+#: The window margin (in pts) to use when only a single window is
264264+#: visible. Negative values will cause the value of
265265+#: window_margin_width to be used instead.
266266+267267+window_padding_width 30.0
268268+269269+#: The window padding (in pts) (blank area between the text and the
270270+#: window border)
271271+272272+# active_border_color #00ff00
273273+274274+#: The color for the border of the active window
275275+276276+# inactive_border_color #cccccc
277277+278278+#: The color for the border of inactive windows
279279+280280+# bell_border_color #ff5a00
281281+282282+#: The color for the border of inactive windows in which a bell has
283283+#: occurred
284284+285285+# inactive_text_alpha 1.0
286286+287287+#: Fade the text in inactive windows by the specified amount (a number
288288+#: between zero and one, with zero being fully faded).
289289+290290+#: }}}
291291+292292+#: Tab bar {{{
293293+294294+# tab_bar_edge bottom
295295+296296+#: Which edge to show the tab bar on, top or bottom
297297+298298+# tab_bar_margin_width 0.0
299299+300300+#: The margin to the left and right of the tab bar (in pts)
301301+302302+# tab_bar_style fade
303303+304304+#: The tab bar style, can be one of: fade or separator. In the fade
305305+#: style, each tab's edges fade into the background color, in the
306306+#: separator style, tabs are separated by a configurable separator.
307307+308308+# tab_fade 0.25 0.5 0.75 1
309309+310310+#: Control how each tab fades into the background when using fade for
311311+#: the tab_bar_style. Each number is an alpha (between zero and one)
312312+#: that controls how much the corresponding cell fades into the
313313+#: background, with zero being no fade and one being full fade. You
314314+#: can change the number of cells used by adding/removing entries to
315315+#: this list.
316316+317317+# tab_separator " ┇"
318318+319319+#: The separator between tabs in the tab bar when using separator as
320320+#: the tab_bar_style.
321321+322322+# active_tab_foreground #000
323323+# active_tab_background #eee
324324+# active_tab_font_style bold-italic
325325+# inactive_tab_foreground #444
326326+# inactive_tab_background #999
327327+# inactive_tab_font_style normal
328328+329329+#: Tab bar colors and styles
330330+331331+#: }}}
332332+333333+#: Color scheme {{{
334334+335335+foreground #c1c9d4
336336+background #2b3240
337337+338338+#: The foreground and background colors
339339+340340+background_opacity 1
341341+# dynamic_background_opacity no
342342+343343+#: The opacity of the background. A number between 0 and 1, where 1 is
344344+#: opaque and 0 is fully transparent. This will only work if
345345+#: supported by the OS (for instance, when using a compositor under
346346+#: X11). Note that it only sets the default background color's
347347+#: opacity. This is so that things like the status bar in vim,
348348+#: powerline prompts, etc. still look good. But it means that if you
349349+#: use a color theme with a background color in your editor, it will
350350+#: not be rendered as transparent. Instead you should change the
351351+#: default background color in your kitty config and not use a
352352+#: background color in the editor color scheme. Or use the escape
353353+#: codes to set the terminals default colors in a shell script to
354354+#: launch your editor. Be aware that using a value less than 1.0 is a
355355+#: (possibly significant) performance hit. If you want to dynamically
356356+#: change transparency of windows set dynamic_background_opacity to
357357+#: yes (this is off by default as it has a performance cost)
358358+359359+# dim_opacity 0.75
360360+361361+#: How much to dim text that has the DIM/FAINT attribute set. One
362362+#: means no dimming and zero means fully dimmed (i.e. invisible).
363363+364364+selection_foreground #2b3240
365365+selection_background #8c98a7
366366+367367+#: The foreground and background for text selected with the mouse
368368+369369+370370+#: The 16 terminal colors. There are 8 basic colors, each color has a
371371+#: dull and bright version. You can also set the remaining colors from
372372+#: the 256 color table as color16 to color255.
373373+374374+color0 #2b3240
375375+color8 #4a5265
376376+377377+#: black
378378+379379+color1 #bc284f
380380+color9 #bc284f
381381+382382+#: red
383383+384384+color2 #88b4ad
385385+color10 #88b4ad
386386+387387+#: green
388388+389389+color3 #ffffff
390390+color11 #ffffff
391391+392392+#: yellow
393393+394394+color4 #5c8097
395395+color12 #5c8097
396396+397397+#: blue
398398+399399+color5 #4f426a
400400+color13 #4f426a
401401+402402+#: magenta
403403+404404+color6 #008097
405405+color14 #008097
406406+407407+#: cyan
408408+409409+color7 #8c98a7
410410+color15 #c1c9d4
411411+412412+#: white
413413+414414+#: }}}
415415+416416+#: Advanced {{{
417417+418418+# shell .
419419+420420+#: The shell program to execute. The default value of . means to use
421421+#: whatever shell is set as the default shell for the current user.
422422+#: Note that on macOS if you change this, you might need to add
423423+#: --login to ensure that the shell starts in interactive mode and
424424+#: reads its startup rc files.
425425+426426+# editor .
427427+428428+#: The console editor to use when editing the kitty config file or
429429+#: similar tasks. A value of . means to use the environment variable
430430+#: EDITOR. Note that this environment variable has to be set not just
431431+#: in your shell startup scripts but system-wide, otherwise kitty will
432432+#: not see it.
433433+434434+# close_on_child_death no
435435+436436+#: Close the window when the child process (shell) exits. If no (the
437437+#: default), the terminal will remain open when the child exits as
438438+#: long as there are still processes outputting to the terminal (for
439439+#: example disowned or backgrounded processes). If yes, the window
440440+#: will close as soon as the child process exits. Note that setting it
441441+#: to yes means that any background processes still using the terminal
442442+#: can fail silently because their stdout/stderr/stdin no longer work.
443443+444444+# allow_remote_control no
445445+446446+#: Allow other programs to control kitty. If you turn this on other
447447+#: programs can control all aspects of kitty, including sending text
448448+#: to kitty windows, opening new windows, closing windows, reading the
449449+#: content of windows, etc. Note that this even works over ssh
450450+#: connections.
451451+452452+# startup_session none
453453+454454+#: Path to a session file to use for all kitty instances. Can be
455455+#: overridden by using the kitty --session command line option for
456456+#: individual instances. See sessions in the kitty documentation for
457457+#: details. Note that relative paths are interpreted with respect to
458458+#: the kitty config directory. Environment variables in the path are
459459+#: expanded.
460460+461461+# clipboard_control write-clipboard write-primary
462462+463463+#: Allow programs running in kitty to read and write from the
464464+#: clipboard. You can control exactly which actions are allowed. The
465465+#: set of possible actions is: write-clipboard read-clipboard write-
466466+#: primary read-primary The default is to allow writing to the
467467+#: clipboard and primary selection. Note that enabling the read
468468+#: functionality is a security risk as it means that any program, even
469469+#: one running on a remote server via SSH can read your clipboard.
470470+471471+term xterm-256color
472472+473473+#: The value of the TERM environment variable to set. Changing this
474474+#: can break many terminal programs, only change it if you know what
475475+#: you are doing, not because you read some advice on Stack Overflow
476476+#: to change it.
477477+478478+#: }}}
479479+480480+#: OS specific tweaks {{{
481481+482482+macos_thicken_font 0.0
483483+484484+# macos_titlebar_color system
485485+486486+#: Change the color of the kitty window's titlebar on macOS. A value
487487+#: of system means to use the default system color, a value of
488488+#: background means to use the background color of the currently
489489+#: active window and finally you can use an arbitrary color, such as
490490+#: #12af59 or red. WARNING: This option works by using a hack, as
491491+#: there is no proper Cocoa API for it. It sets the background color
492492+#: of the entire window and makes the titlebar transparent. As such it
493493+#: is incompatible with background_opacity. If you want to use both,
494494+#: you are probably better off just hiding the titlebar with
495495+#: macos_hide_titlebar.
496496+497497+macos_hide_titlebar yes
498498+499499+#: Hide the kitty window's title bar on macOS.
500500+501501+# x11_hide_window_decorations no
502502+503503+#: Hide the window decorations (title bar and window borders) on X11
504504+#: and Wayland. Whether this works and exactly what effect it has
505505+#: depends on the window manager, as it is the job of the window
506506+#: manager/compositor to draw window decorations.
507507+508508+# macos_option_as_alt no
509509+510510+#: Use the option key as an alt key. With this set to no, kitty will
511511+#: use the macOS native Option+Key = unicode character behavior. This
512512+#: will break any Alt+key keyboard shortcuts in your terminal
513513+#: programs, but you can use the macOS unicode input technique.
514514+515515+# macos_hide_from_tasks no
516516+517517+#: Hide the kitty window from running tasks (Option+Tab) on macOS.
518518+519519+# macos_quit_when_last_window_closed no
520520+521521+#: Have kitty quit when all the top-level windows are closed. By
522522+#: default, kitty will stay running, even with no open windows, as is
523523+#: the expected behavior on macOS.
524524+525525+# macos_window_resizable yes
526526+527527+#: Disable this if you want kitty top-level (OS) windows to not be
528528+#: resizable on macOS.
529529+530530+#: }}}
531531+532532+#: Keyboard shortcuts {{{
533533+534534+#: For a list of key names, see: GLFW keys
535535+#: <http://www.glfw.org/docs/latest/group__keys.html>. The name to use
536536+#: is the part after the GLFW_KEY_ prefix. For a list of modifier
537537+#: names, see: GLFW mods
538538+#: <http://www.glfw.org/docs/latest/group__mods.html>
539539+540540+#: On Linux you can also use XKB key names to bind keys that are not
541541+#: supported by GLFW. See XKB keys
542542+#: <https://github.com/xkbcommon/libxkbcommon/blob/master/xkbcommon/xkbcommon-
543543+#: keysyms.h> for a list of key names. The name to use is the part
544544+#: after the XKB_KEY_ prefix. Note that you should only use an XKB key
545545+#: name for keys that are not present in the list of GLFW keys.
546546+547547+#: You can use the special action no_op to unmap a keyboard shortcut
548548+#: that is assigned in the default configuration.
549549+550550+#: You can combine multiple actions to be triggered by a single
551551+#: shortcut, using the syntax below::
552552+553553+#: map key combine <separator> action1 <separator> action2 <separator> action3 ...
554554+555555+#: For example::
556556+557557+#: map kitty_mod+e combine : new_window : next_layout
558558+559559+#: this will create a new window and switch to the next available
560560+#: layout
561561+562562+#: You can use multi-key shortcuts using the syntax shown below::
563563+564564+#: map key1>key2>key3 action
565565+566566+#: For example::
567567+568568+#: map ctrl+f>2 set_font_size 20
569569+570570+# kitty_mod ctrl+shift
571571+572572+#: The value of kitty_mod is used as the modifier for all default
573573+#: shortcuts, you can change it in your kitty.conf to change the
574574+#: modifiers for all the default shortcuts.
575575+576576+# clear_all_shortcuts no
577577+578578+#: You can have kitty remove all shortcut definition seen up to this
579579+#: point. Useful, for instance, to remove the default shortcuts.
580580+581581+#: Clipboard {{{
582582+583583+# map cmd+c copy_to_clipboard
584584+# map kitty_mod+c copy_to_clipboard
585585+# map cmd+v paste_from_clipboard
586586+# map kitty_mod+v paste_from_clipboard
587587+# map kitty_mod+s paste_from_selection
588588+# map shift+insert paste_from_selection
589589+# map kitty_mod+o pass_selection_to_program
590590+591591+#: You can also pass the contents of the current selection to any
592592+#: program using pass_selection_to_program. By default, the system's
593593+#: open program is used, but you can specify your own, for example::
594594+595595+#: map kitty_mod+o pass_selection_to_program firefox
596596+597597+#: You can pass the current selection to a terminal program running in
598598+#: a new kitty window, by using the @selection placeholder::
599599+600600+#: map kitty_mod+y new_window less @selection
601601+602602+#: }}}
603603+604604+#: Scrolling {{{
605605+606606+# map kitty_mod+up scroll_line_up
607607+# map kitty_mod+k scroll_line_up
608608+# map kitty_mod+down scroll_line_down
609609+# map kitty_mod+j scroll_line_down
610610+# map kitty_mod+page_up scroll_page_up
611611+# map kitty_mod+page_down scroll_page_down
612612+# map kitty_mod+home scroll_home
613613+# map kitty_mod+end scroll_end
614614+# map kitty_mod+h show_scrollback
615615+616616+#: You can send the contents of the current screen + history buffer as
617617+#: stdin to an arbitrary program using the placeholders @text (which
618618+#: is the plain text) and @ansi (which includes text styling escape
619619+#: codes). For only the current screen, use @screen or @ansi_screen.
620620+#: For example, the following command opens the scrollback buffer in
621621+#: less in a new window::
622622+623623+#: map kitty_mod+y new_window @ansi less +G -R
624624+625625+#: }}}
626626+627627+#: Window management {{{
628628+629629+# map cmd+n new_window
630630+631631+#: You can open a new window running an arbitrary program, for
632632+#: example::
633633+634634+#: map kitty_mod+y new_window mutt
635635+636636+#: You can open a new window with the current working directory set to
637637+#: the working directory of the current window using::
638638+639639+#: map ctrl+alt+enter new_window_with_cwd
640640+641641+# map cmd+n new_os_window
642642+# map kitty_mod+n new_os_window
643643+# map kitty_mod+w close_window
644644+# map kitty_mod+] next_window
645645+# map kitty_mod+[ previous_window
646646+# map kitty_mod+f move_window_forward
647647+# map kitty_mod+b move_window_backward
648648+# map kitty_mod+` move_window_to_top
649649+# map kitty_mod+r start_resizing_window
650650+# map kitty_mod+1 first_window
651651+# map kitty_mod+2 second_window
652652+# map kitty_mod+3 third_window
653653+# map kitty_mod+4 fourth_window
654654+# map kitty_mod+5 fifth_window
655655+# map kitty_mod+6 sixth_window
656656+# map kitty_mod+7 seventh_window
657657+# map kitty_mod+8 eighth_window
658658+# map kitty_mod+9 ninth_window
659659+# map kitty_mod+0 tenth_window
660660+#: }}}
661661+662662+#: Tab management {{{
663663+664664+# map kitty_mod+right next_tab
665665+# map kitty_mod+left previous_tab
666666+# map kitty_mod+t new_tab
667667+# map kitty_mod+q close_tab
668668+# map kitty_mod+. move_tab_forward
669669+# map kitty_mod+, move_tab_backward
670670+# map kitty_mod+alt+t set_tab_title
671671+672672+#: You can also create shortcuts to go to specific tabs, with 1 being
673673+#: the first tab::
674674+675675+#: map ctrl+alt+1 goto_tab 1
676676+#: map ctrl+alt+2 goto_tab 2
677677+678678+#: Just as with new_window above, you can also pass the name of
679679+#: arbitrary commands to run when using new_tab and use
680680+#: new_tab_with_cwd.
681681+#: }}}
682682+683683+#: Layout management {{{
684684+685685+# map kitty_mod+l next_layout
686686+687687+#: You can also create shortcuts to switch to specific layouts::
688688+689689+#: map ctrl+alt+t goto_layout tall
690690+#: map ctrl+alt+s goto_layout stack
691691+#: }}}
692692+693693+#: Font sizes {{{
694694+695695+#: You can change the font size for all top-level kitty windows at a
696696+#: time or only the current one.
697697+698698+# map kitty_mod+equal change_font_size all +2.0
699699+# map kitty_mod+minus change_font_size all -2.0
700700+# map kitty_mod+backspace change_font_size all 0
701701+702702+#: To setup shortcuts for specific font sizes::
703703+704704+#: map kitty_mod+f6 change_font_size all 10.0
705705+706706+#: To setup shortcuts to change only the current window's font size::
707707+708708+#: map kitty_mod+f6 change_font_size current 10.0
709709+#: }}}
710710+711711+#: Select and act on visible text {{{
712712+713713+#: Use the hints kitten to select text and either pass it to an
714714+#: external program or insert it into the terminal or copy it to the
715715+#: clipboard.
716716+717717+# map kitty_mod+e kitten hints
718718+719719+#: Open a currently visible URL using the keyboard. The program used
720720+#: to open the URL is specified in open_url_with.
721721+722722+# map kitty_mod+p>f kitten hints --type path --program -
723723+724724+#: Select a path/filename and insert it into the terminal. Useful, for
725725+#: instance to run git commands on a filename output from a previous
726726+#: git command.
727727+728728+# map kitty_mod+p>shift+f kitten hints --type path
729729+730730+#: Select a path/filename and open it with the default open program.
731731+732732+# map kitty_mod+p>l kitten hints --type line --program -
733733+734734+#: Select a line of text and insert it into the terminal. Use for the
735735+#: output of things like: ls -1
736736+737737+# map kitty_mod+p>w kitten hints --type word --program -
738738+739739+#: Select words and insert into terminal.
740740+741741+# map kitty_mod+p>h kitten hints --type hash --program -
742742+743743+#: Select something that looks like a hash and insert it into the
744744+#: terminal. Useful with git, which uses sha1 hashes to identify
745745+#: commits
746746+747747+748748+#: The hints kitten has many more modes of operation that you can map
749749+#: to different shortcuts. For a full description see kittens/hints.
750750+#: }}}
751751+752752+#: Miscellaneous {{{
753753+754754+# map kitty_mod+f11 toggle_fullscreen
755755+# map kitty_mod+u input_unicode_character
756756+# map kitty_mod+f2 edit_config_file
757757+# map kitty_mod+escape kitty_shell window
758758+759759+#: Open the kitty shell in a new window/tab/overlay/os_window to
760760+#: control kitty using commands.
761761+762762+# map kitty_mod+a>m set_background_opacity +0.1
763763+# map kitty_mod+a>l set_background_opacity -0.1
764764+# map kitty_mod+a>1 set_background_opacity 1
765765+# map kitty_mod+a>d set_background_opacity default
766766+767767+#: You can tell kitty to send arbitrary (UTF-8) encoded text to the
768768+#: client program when pressing specified shortcut keys. For example::
769769+770770+#: map ctrl+alt+a send_text all Special text
771771+772772+#: This will send "Special text" when you press the ctrl+alt+a key
773773+#: combination. The text to be sent is a python string literal so you
774774+#: can use escapes like \x1b to send control codes or \u21fb to send
775775+#: unicode characters (or you can just input the unicode characters
776776+#: directly as UTF-8 text). The first argument to send_text is the
777777+#: keyboard modes in which to activate the shortcut. The possible
778778+#: values are normal or application or kitty or a comma separated
779779+#: combination of them. The special keyword all means all modes. The
780780+#: modes normal and application refer to the DECCKM cursor key mode
781781+#: for terminals, and kitty refers to the special kitty extended
782782+#: keyboard protocol.
783783+784784+#: Another example, that outputs a word and then moves the cursor to
785785+#: the start of the line (same as pressing the Home key)::
786786+787787+#: map ctrl+alt+a send_text normal Word\x1b[H
788788+#: map ctrl+alt+a send_text application Word\x1bOH
789789+790790+#: }}}
791791+792792+map alt+a send_text all \u0105
793793+map alt+c send_text all \u0107
794794+map alt+e send_text all \u0119
795795+map alt+l send_text all \u0142
796796+map alt+n send_text all \u0144
797797+map alt+o send_text all \u00F3
798798+map alt+s send_text all \u015B
799799+map alt+x send_text all \u017A
800800+map alt+z send_text all \u017C
801801+802802+map alt+shift+a send_text all \u0104
803803+map alt+shift+c send_text all \u0106
804804+map alt+shift+e send_text all \u0118
805805+map alt+shift+l send_text all \u0141
806806+map alt+shift+n send_text all \u0143
807807+map alt+shift+o send_text all \u00d3
808808+map alt+shift+s send_text all \u015a
809809+map alt+shift+x send_text all \u0179
810810+map alt+shift+z send_text all \u017b
811811+812812+# }}}