Compare commits
117 Commits
6a19ade2d2
...
debian
Author | SHA1 | Date | |
---|---|---|---|
634014851c | |||
4e9a8f94be | |||
89b17fbc07 | |||
8828111fba | |||
8771d1eb3b | |||
6162c2016a | |||
df65f35f0b | |||
6b07a1175f | |||
82861e7685 | |||
620857fc8a | |||
77d6ef3708 | |||
7270a2c858 | |||
d3d0a4cc5d | |||
ae2779f48e | |||
0d7c1902c1 | |||
d8e73040bc | |||
bb09061c3b | |||
08fbd0beb9 | |||
e99b430ce8 | |||
1952ece138 | |||
a50baf801c | |||
0306ebc04c | |||
1ea29d78d7 | |||
553d15e38b | |||
46e9aea2dd | |||
7b1d0ef251 | |||
36e122b62c | |||
707b581b88 | |||
91d3d1d98d | |||
d79688f50f | |||
34baf7e029 | |||
3820ea0297 | |||
43a70bb9de | |||
c926e32cda | |||
0848db107c | |||
e2f4267b7a | |||
784818b510 | |||
afbfeef4d2 | |||
937fe0142d | |||
3837b797d0 | |||
32c066fe4d | |||
8ebda1aa12 | |||
e08fa4f6a6 | |||
fc13f9b73e | |||
1ab292fe6f | |||
bb48fa187f | |||
ba623040b9 | |||
8358af1077 | |||
4cab17e726 | |||
0aeb3b770f | |||
aaf96cd5c7 | |||
976100ec25 | |||
571e03680f | |||
ec5815b10b | |||
daf4250a7e | |||
13446c6d89 | |||
f501c081df | |||
7accc4c185 | |||
ad1cfc5344 | |||
c4e3c60eec | |||
a73cf71925 | |||
43607cba6e | |||
0b57ddfaaf | |||
c8d95342e2 | |||
e7464580c2 | |||
1acf2a2305 | |||
16de7c94da | |||
3337e168c7 | |||
e43b887413 | |||
844fe85d6d | |||
586f3ea533 | |||
6d16a23c24 | |||
400f1051ff | |||
fdac96925a | |||
cf3d18414a | |||
4c6a94a0b3 | |||
2ec6883629 | |||
f6c161cc83 | |||
b114c139b1 | |||
b5f66ebcb8 | |||
bf419bfd98 | |||
7f1b122a53 | |||
fd8f96a54d | |||
b8611eb590 | |||
8dd5e34e4d | |||
a44879dfb9 | |||
e6c05c9739 | |||
23949e1098 | |||
57e382cff8 | |||
64f10c1350 | |||
99d177099a | |||
e9d35afb8b | |||
f73cd39593 | |||
b720ba07ec | |||
08483c6330 | |||
1d97ba199e | |||
3d60a7cca4 | |||
deac51c69e | |||
46eaa985c7 | |||
53e973b12a | |||
b5d9c6263c | |||
e163a0a50f | |||
7dac64b788 | |||
418ecb2f3f | |||
3ed529867c | |||
07e0ac53a2 | |||
4ac6ee989c | |||
2a03193ad6 | |||
e50238789a | |||
9761635055 | |||
7a8e1ac41b | |||
435035e2b3 | |||
cddd6ca76f | |||
0df0fa16ce | |||
054b034d82 | |||
07c7389c7b | |||
b087e95999 |
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,3 @@
|
||||
/backup
|
||||
/home_internal
|
||||
/root_internal
|
||||
output.txt
|
||||
/.sublime
|
||||
|
4
distributeHome.sh
Executable file
4
distributeHome.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
shopt -s dotglob
|
||||
cp -lrf ./home_external/* $HOME/
|
4
distributeRoot.sh
Executable file
4
distributeRoot.sh
Executable file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
shopt -s dotglob
|
||||
sudo cp -lrf ./root_external/* /
|
@ -1,35 +1,90 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$TERM" == 'xterm-kitty' ]; then
|
||||
alias ssh='kitty +kitten ssh'
|
||||
alias diff='kitty +kitten diff'
|
||||
fi
|
||||
|
||||
DEFAULT_RSYNC='--verbose --recursive --progress --delay-updates --human-readable --links --hard-links --perms'
|
||||
COMMON_RSYNC='--info=ALL --recursive --delay-updates --human-readable --links --hard-links --perms'
|
||||
export RSDEF="$COMMON_RSYNC --checksum"
|
||||
export RSBKP="$RSDEF --times --group --owner --delete"
|
||||
export RSMOV="$RSDEF --remove-source-files"
|
||||
export RSUPD="$COMMON_RSYNC --update --times"
|
||||
export RSCPY="$COMMON_RSYNC --ignore-times"
|
||||
|
||||
alias l='ls -l -v --all --human-readable --classify --group-directories-first' # -lvahF --group-directories-first
|
||||
alias lt=='l --time-style=long-iso'
|
||||
alias r='reset'
|
||||
alias ..='cd ..'
|
||||
alias refresh_bashrc='. ~/.bashrc' # alternatively: 'source ~/.bashrc'
|
||||
alias rsync_default="rsync $DEFAULT_RSYNC --checksum"
|
||||
# complete -F _rsync rsync_default # FIXME!!! works on oashi workstation (ubuntu) but not on manjaro ?!?
|
||||
alias rsync_backup="rsync $DEFAULT_RSYNC --checksum --times --group --owner --delete"
|
||||
alias rsync_move='rsync_default --remove-source-files'
|
||||
alias rsync_update="rsync $DEFAULT_RSYNC --update --times"
|
||||
alias rsync_default="rsync $RSDEF"
|
||||
# source /usr/share/bash-completion/completions/rsync
|
||||
# complete -F _rsync rsync_default
|
||||
alias rsync_backup="rsync $RSBKP"
|
||||
alias rsync_move="rsync $RSMOV"
|
||||
alias rsync_update="rsync $RSUPD"
|
||||
alias rsync_copy="rsync $RSCPY"
|
||||
alias copy_link='cp --no-dereference --recursive --preserve=all --link' # not --force to make it optional
|
||||
alias off='systemctl poweroff'
|
||||
alias nnn='nnn -dHrR'
|
||||
alias nn='n -dHrR'
|
||||
alias finds='find $* 2>/dev/null'
|
||||
alias c='clear'
|
||||
alias sort_dirs_by_size='du --block-size=1K --human-readable --max-depth=1 | sort --human-numeric-sort --reverse' # 'du -kh --max-depth=1 | sort -hr'
|
||||
alias sd='sudo ' # alias, so sudo can use aliases: "If the last character of the alias value is a blank, then the next command word following the alias is also checked for alias expansion."
|
||||
alias mountdrive='udisksctl mount -b'
|
||||
alias unmountdrive='udisksctl unmount -b'
|
||||
alias fssizes='df -kh --output=size,used,avail,pcent,target | sort -hr'
|
||||
alias dirsizes='du -kh --apparent-size --max-depth=1 | sort -hr'
|
||||
# sed -ie 's/Beispiel/Ersetzung/' *.xml
|
||||
# sed -Eie 's/(Beispiel)/\1Anhang/' *.xml
|
||||
alias start_x11_vnc="x11vnc -many -display :0 -no6 -rfbport 5900 -auth /var/run/lightdm/root/:0 -rfbauth $HOME/.vnc/passwd"
|
||||
|
||||
|
||||
rsyncLink() {
|
||||
source=$1;
|
||||
linkSource="$(realpath $source)";
|
||||
linkSource=${linkSource%/}; # cut off trailing "/"
|
||||
shift;
|
||||
dest=$1;
|
||||
shift;
|
||||
rsync $DEFAULT_RSYNC --one-file-system --link-dest=$linkSource $source $dest $*;
|
||||
}
|
||||
|
||||
|
||||
updateSystem() {
|
||||
executeAndNotify "doUpdateSystem $1" "system updated" "system update failed"
|
||||
}
|
||||
|
||||
|
||||
doUpdateSystem() {
|
||||
updatePackages $1;
|
||||
updateFlatpak $1;
|
||||
}
|
||||
|
||||
|
||||
updateFlatpak() {
|
||||
noconfirm=
|
||||
if [[ $1 == "-y" ]]; then
|
||||
noconfirm="--assumeyes";
|
||||
fi
|
||||
executeAndNotify "doUpdateFlatpak $noconfirm" "flatpaks updated" "flatpak update failed";
|
||||
}
|
||||
|
||||
|
||||
doUpdateFlatpak() {
|
||||
flatpak update $1;
|
||||
flatpak remove --unused $1;
|
||||
}
|
||||
|
||||
|
||||
# executes command and notifies upon failure
|
||||
execute() {
|
||||
dir="$(pwd)";
|
||||
dir=${dir##*/};
|
||||
if [ -n "$2" ]; then
|
||||
errLog=$2
|
||||
if [[ -n "$2" ]]; then
|
||||
errLog=$2;
|
||||
else
|
||||
errLog="execution of \"$1\" failed"
|
||||
errLog="execution of \"$1\" failed";
|
||||
fi
|
||||
|
||||
if ! $1; then
|
||||
@ -42,34 +97,33 @@ execute() {
|
||||
# executes command and notifies upon success or failure
|
||||
executeAndNotify () {
|
||||
dir="$(pwd)";
|
||||
dir=${dir##*/};
|
||||
if [ -n "$2" ]; then
|
||||
winLog=$2
|
||||
dir=${dir##*/}; # cut off previous path (/path/to/foo.txt -> foo.txt)
|
||||
if [[ -n "$2" ]]; then
|
||||
winLog=$2;
|
||||
else
|
||||
winLog="execution of \"$1\" succeeded"
|
||||
winLog="execution of \"$1\" succeeded";
|
||||
fi
|
||||
|
||||
if ! execute "$1" "$3"; then # arguments in quotes so they are interpreted as ONE argument each by execute()
|
||||
return 1;
|
||||
fi
|
||||
notifyInfo "$dir: $winLog"
|
||||
notifyInfo "$dir: $winLog";
|
||||
}
|
||||
|
||||
|
||||
# find file but don't print errors (e.g. can't access directory etc.)
|
||||
: 'seems to be working as alias as well:
|
||||
finds () {
|
||||
find $* 2>/dev/null
|
||||
}'
|
||||
find $* 2>/dev/null;
|
||||
}
|
||||
|
||||
|
||||
# sends a desktop-notification with an icon signalling an error
|
||||
notifyError () {
|
||||
notify-send "$1" --icon=data-warning
|
||||
notify-send "$1" --icon=data-warning;
|
||||
}
|
||||
|
||||
|
||||
# sends a desktop-notification with an icon signalling a simple information
|
||||
notifyInfo () {
|
||||
notify-send "$1" --icon=preferences-desktop-notification
|
||||
notify-send "$1" --icon=preferences-desktop-notification;
|
||||
}
|
||||
|
21
home_external/.bash_aliases_branched
Normal file
21
home_external/.bash_aliases_branched
Normal file
@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
updatePackages() {
|
||||
noconfirm=
|
||||
if [[ $1 == "-y" ]]; then
|
||||
noconfirm="--assume-yes"
|
||||
fi
|
||||
full=
|
||||
if [[ $2 == "--full" ]]; then
|
||||
full="full-"
|
||||
fi
|
||||
executeAndNotify "doUpdatePackages $noconfirm $full" "system updated" "system update failed";
|
||||
}
|
||||
|
||||
|
||||
doUpdatePackages() {
|
||||
sudo apt update;
|
||||
sudo apt ${2}upgrade $1;
|
||||
sudo apt autoremove $1;
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
alias mount_garrus='sshMount fabian FabisDokumente && sshMount media Filme'
|
||||
alias unmount_garrus='sshUnmount FabisDokumente && sshUnmount Filme'
|
||||
|
||||
sshMount() {
|
||||
sshfs fabian@garrus:/citadel/$1/ /home/fabian/$2/ -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=8
|
||||
}
|
||||
|
||||
sshUnmount() {
|
||||
fusermount -u /home/fabian/$1
|
||||
}
|
@ -2,6 +2,9 @@
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
set -o pipefail
|
||||
# set -u
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
if [[ $- != *i* ]]; then
|
||||
return
|
||||
@ -43,6 +46,8 @@ shopt -s checkwinsize
|
||||
# match all files and zero or more directories and subdirectories.
|
||||
shopt -s globstar
|
||||
|
||||
shopt -s dotglob
|
||||
|
||||
# make less more friendly for non-text input files, see lesspipe(1)
|
||||
if [ -x /usr/bin/lesspipe ]; then
|
||||
eval "$(SHELL=/bin/sh lesspipe)"
|
||||
@ -134,16 +139,12 @@ alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
source ~/.bash_aliases
|
||||
fi
|
||||
|
||||
if [ -f ~/.bash_aliases_extra ]; then
|
||||
. ~/.bash_aliases_extra
|
||||
fi
|
||||
|
||||
if [ -f ~/.bash_aliases_local ]; then
|
||||
. ~/.bash_aliases_local
|
||||
fi
|
||||
for file in ~/.bash_aliases_*; do
|
||||
source $file
|
||||
done
|
||||
|
||||
# enable programmable completion features (you don't need to enable
|
||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||
@ -185,32 +186,41 @@ colours() {
|
||||
|
||||
# ex - archive extractor
|
||||
# usage: ex <file>
|
||||
ex ()
|
||||
{
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) unrar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1;;
|
||||
*.7z) 7z x $1 ;;
|
||||
*) echo "'$1' cannot be extracted via ex()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
ex() {
|
||||
if [[ ! -f "$1" ]]; then
|
||||
echo "'$1' is not a valid file"
|
||||
return 1;
|
||||
fi
|
||||
# FIXME 7z kann (theoretisch) tar
|
||||
outdir=${1%.*}
|
||||
case "$1" in
|
||||
*.tar.bz2 | *.tbz | *.tbz2)
|
||||
tar xjf $1 -C $outdir;;
|
||||
*.tar.gz | *.tgz)
|
||||
tar xzf $1 -C $outdir;;
|
||||
*.tar)
|
||||
tar xf $1 -C $outdir;;
|
||||
*.7z | *.zip | *.gz | *.bz | *.bz2)
|
||||
7z x -o$outdir $1;;
|
||||
*.rar)
|
||||
unrar x $1;;
|
||||
*.Z)
|
||||
uncompress $1;;
|
||||
*)
|
||||
echo "'$1' cannot be extracted via ex()";;
|
||||
esac
|
||||
}
|
||||
|
||||
# BEGIN_KITTY_SHELL_INTEGRATION
|
||||
if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
|
||||
if [[ -n "$KITTY_INSTALLATION_DIR" && -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash" ]]; then
|
||||
source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash";
|
||||
fi
|
||||
# END_KITTY_SHELL_INTEGRATION
|
||||
|
||||
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
|
||||
export SDKMAN_DIR="$HOME/.sdkman"
|
||||
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||
if [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]]; then
|
||||
source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||
fi
|
||||
|
||||
export PATH=$PATH:/sync/scripts
|
||||
|
307
home_external/.config/nano/nanorc
Normal file
307
home_external/.config/nano/nanorc
Normal file
@ -0,0 +1,307 @@
|
||||
## Sample initialization file for GNU nano.
|
||||
##
|
||||
## For the options that take parameters, the default value is shown.
|
||||
## Other options are unset by default. To make sure that an option
|
||||
## is disabled, you can use "unset <option>".
|
||||
##
|
||||
## Characters that are special in a shell should not be escaped here.
|
||||
## Inside string parameters, quotes should not be escaped -- the last
|
||||
## double quote on the line will be seen as the closing quote.
|
||||
|
||||
## Make 'nextword' (Ctrl+Right) and 'chopwordright' (Ctrl+Delete)
|
||||
## stop at word ends instead of at beginnings.
|
||||
# even more unintuitive than normal behaviour
|
||||
# set afterends
|
||||
|
||||
## When soft line wrapping is enabled, make it wrap lines at blanks
|
||||
## (tabs and spaces) instead of always at the edge of the screen.
|
||||
set atblanks
|
||||
|
||||
## Automatically indent a newly created line to the same number of
|
||||
## tabs and/or spaces as the preceding line -- or as the next line
|
||||
## if the preceding line is the beginning of a paragraph.
|
||||
set autoindent
|
||||
|
||||
## Back up files to the current filename plus a tilde.
|
||||
# set backup
|
||||
|
||||
## The directory to put unique backup files in.
|
||||
# set backupdir ""
|
||||
|
||||
## Use bold text instead of reverse video text.
|
||||
# set boldtext
|
||||
|
||||
## Treat any line with leading whitespace as the beginning of a paragraph.
|
||||
# set bookstyle
|
||||
|
||||
## The characters treated as closing brackets when justifying paragraphs.
|
||||
## This may not include any blank characters. Only closing punctuation,
|
||||
## optionally followed by these closing brackets, can end sentences.
|
||||
set brackets ""')>]}"
|
||||
|
||||
## Automatically hard-wrap the current line when it becomes overlong.
|
||||
# set breaklonglines
|
||||
|
||||
## Do case-sensitive searches by default.
|
||||
# set casesensitive
|
||||
|
||||
## Constantly display the cursor position in the status bar or minibar.
|
||||
set constantshow
|
||||
|
||||
## Use cut-from-cursor-to-end-of-line by default.
|
||||
# set cutfromcursor
|
||||
|
||||
## Do not use the line below the title bar, leaving it entirely blank.
|
||||
# set emptyline
|
||||
|
||||
## Set the target width for automatic hard-wrapping and for justifying
|
||||
## paragraphs. If the specified value is 0 or less, the wrapping point
|
||||
## will be the terminal's width minus this number.
|
||||
# only works with hard wrap which does not work with atblanks
|
||||
# set fill -8
|
||||
|
||||
## mark soft wrap indicator ##
|
||||
set guidestripe 121
|
||||
|
||||
## Remember the used search/replace strings for the next session.
|
||||
# set historylog
|
||||
|
||||
## Display a "scrollbar" on the righthand side of the edit window.
|
||||
set indicator
|
||||
|
||||
## Scroll the buffer contents per half-screen instead of per line.
|
||||
# set jumpyscrolling
|
||||
|
||||
## Display line numbers to the left (and any anchors in the margin).
|
||||
set linenumbers
|
||||
|
||||
## Enable vim-style lock-files. This is just to let a vim user know you
|
||||
## are editing a file [s]he is trying to edit and vice versa. There are
|
||||
## no plans to implement vim-style undo state in these files.
|
||||
# set locking
|
||||
|
||||
## Fall back to slow libmagic to try and determine an applicable syntax.
|
||||
# set magic
|
||||
|
||||
## The opening and closing brackets that can be found by bracket
|
||||
## searches. They cannot contain blank characters. The former set must
|
||||
## come before the latter set, and both must be in the same order.
|
||||
set matchbrackets "(<[{)>]}"
|
||||
|
||||
## Suppress title bar and show file name and editor state at the bottom.
|
||||
# set minibar
|
||||
|
||||
## Enable mouse support, if available for your system. When enabled,
|
||||
## mouse clicks can be used to place the cursor, set the mark (with a
|
||||
## double click), and execute shortcuts. The mouse will work in the X
|
||||
## Window System, and on the console when gpm is running.
|
||||
# unintuitive
|
||||
# set mouse
|
||||
|
||||
## Switch on multiple file buffers (inserting a file will put it into
|
||||
## a separate buffer).
|
||||
# set multibuffer
|
||||
|
||||
## Don't convert files from DOS/Mac format.
|
||||
# set noconvert
|
||||
|
||||
## Don't display the helpful shortcut lists at the bottom of the screen.
|
||||
# set nohelp
|
||||
|
||||
## Don't automatically add a newline when a file does not end with one.
|
||||
# set nonewlines
|
||||
|
||||
## Set operating directory. nano will not read or write files outside
|
||||
## this directory and its subdirectories. Also, the current directory
|
||||
## is changed to here, so any files are inserted from this dir. A blank
|
||||
## string means the operating-directory feature is turned off.
|
||||
# set operatingdir ""
|
||||
|
||||
## Remember the cursor position in each file for the next editing session.
|
||||
# set positionlog
|
||||
|
||||
## Preserve the XON and XOFF keys (^Q and ^S).
|
||||
# set preserve
|
||||
|
||||
## The characters treated as closing punctuation when justifying
|
||||
## paragraphs. They cannot contain blank characters. Only closing
|
||||
## punctuation, optionally followed by closing brackets, can end
|
||||
## sentences.
|
||||
# set punct "!.?"
|
||||
|
||||
## Make status-bar messages disappear after 1 keystroke instead of after 20.
|
||||
# set quickblank
|
||||
|
||||
## The regular expression that matches quoting characters in email
|
||||
## or line-comment introducers in source code. The default is:
|
||||
# set quotestr "^([ ]*([!#%:;>|}]|//))+"
|
||||
|
||||
## Try to work around a mismatching terminfo terminal description.
|
||||
# set rawsequences
|
||||
|
||||
## Fix Backspace/Delete confusion problem.
|
||||
# set rebinddelete
|
||||
|
||||
## Do regular-expression searches by default.
|
||||
## Regular expressions are of the extended type (ERE).
|
||||
# set regexp
|
||||
|
||||
## Save a changed buffer automatically on exit; don't prompt.
|
||||
# set saveonexit
|
||||
## (The old form of this option, 'set tempfile', is deprecated.)
|
||||
|
||||
## Put the cursor on the highlighted item in the file browser, and show
|
||||
## the cursor in the help viewer; useful for people who use a braille
|
||||
## display and people with poor vision.
|
||||
# set showcursor
|
||||
|
||||
## Make the Home key smarter. When Home is pressed anywhere but at the
|
||||
## very beginning of non-whitespace characters on a line, the cursor
|
||||
## will jump to that beginning (either forwards or backwards). If the
|
||||
## cursor is already at that position, it will jump to the true
|
||||
## beginning of the line.
|
||||
set smarthome
|
||||
|
||||
## Spread overlong lines over multiple screen lines.
|
||||
set softwrap
|
||||
|
||||
## Use this spelling checker instead of the internal one. This option
|
||||
## does not have a default value.
|
||||
# set speller "aspell -x -c"
|
||||
|
||||
## Use the end of the title bar for some state flags: I = auto-indenting,
|
||||
## M = mark, L = hard-wrapping long lines, R = recording, S = soft-wrapping.
|
||||
set stateflags
|
||||
|
||||
## Allow nano to be suspended (with ^Z by default).
|
||||
# set suspendable
|
||||
## (The old form of this option, 'set suspend', is deprecated.)
|
||||
|
||||
## Use this tab size instead of the default; it must be greater than 0.
|
||||
set tabsize 3
|
||||
|
||||
## Convert typed tabs to spaces.
|
||||
set tabstospaces
|
||||
|
||||
## Snip whitespace at the end of lines when justifying or hard-wrapping.
|
||||
set trimblanks
|
||||
|
||||
## The two single-column characters used to display the first characters
|
||||
## of tabs and spaces. 187 in ISO 8859-1 (0000BB in Unicode) and 183 in
|
||||
## ISO-8859-1 (0000B7 in Unicode) seem to be good values for these.
|
||||
## The default when in a UTF-8 locale:
|
||||
# set whitespace "»·"
|
||||
## The default otherwise:
|
||||
# set whitespace ">."
|
||||
|
||||
## Detect word boundaries differently by treating punctuation
|
||||
## characters as parts of words.
|
||||
# set wordbounds
|
||||
|
||||
## The characters (besides alphanumeric ones) that should be considered
|
||||
## as parts of words. This option does not have a default value. When
|
||||
## set, it overrides option 'set wordbounds'.
|
||||
# set wordchars "<_>."
|
||||
|
||||
## Let an unmodified Backspace or Delete erase the marked region (instead
|
||||
## of a single character, and without affecting the cutbuffer).
|
||||
# set zap
|
||||
|
||||
|
||||
## Paint the interface elements of nano. These are examples; there are
|
||||
## no colors by default, except for errorcolor and spotlightcolor.
|
||||
# set titlecolor bold,lightwhite,blue
|
||||
# set promptcolor lightwhite,lightblack
|
||||
# set statuscolor bold,lightwhite,green
|
||||
# set errorcolor bold,lightwhite,red
|
||||
# set spotlightcolor black,lime
|
||||
# set selectedcolor lightwhite,magenta
|
||||
# set stripecolor ,yellow
|
||||
# set scrollercolor cyan
|
||||
# set numbercolor cyan
|
||||
# set keycolor cyan
|
||||
# set functioncolor green
|
||||
|
||||
## In root's .nanorc you might want to use:
|
||||
# set titlecolor bold,lightwhite,magenta
|
||||
# set promptcolor black,yellow
|
||||
# set statuscolor bold,lightwhite,magenta
|
||||
# set errorcolor bold,lightwhite,red
|
||||
# set spotlightcolor black,orange
|
||||
# set selectedcolor lightwhite,cyan
|
||||
# set stripecolor ,yellow
|
||||
# set scrollercolor magenta
|
||||
# set numbercolor magenta
|
||||
# set keycolor lightmagenta
|
||||
# set functioncolor magenta
|
||||
|
||||
|
||||
## === Syntax coloring ===
|
||||
## For all details, see 'man nanorc', section SYNTAX HIGHLIGHTING.
|
||||
|
||||
## To include most of the existing syntax definitions, you can do:
|
||||
include "/usr/share/nano/*.nanorc"
|
||||
|
||||
## Or you can select just the ones you need. For example:
|
||||
# include "/usr/share/nano/html.nanorc"
|
||||
# include "/usr/share/nano/python.nanorc"
|
||||
# include "/usr/share/nano/sh.nanorc"
|
||||
|
||||
## In /usr/share/nano/extra/ you can find some syntaxes that are
|
||||
## specific for certain distros or for some less common languages.
|
||||
|
||||
|
||||
## If <Tab> should always produce four spaces when editing a Python file,
|
||||
## independent of the settings of 'tabsize' and 'tabstospaces':
|
||||
# extendsyntax python tabgives " "
|
||||
|
||||
## If <Tab> should always produce an actual TAB when editing a Makefile:
|
||||
# extendsyntax makefile tabgives " "
|
||||
|
||||
|
||||
## === Key bindings ===
|
||||
## For all details, see 'man nanorc', section REBINDING KEYS.
|
||||
|
||||
## The <Ctrl+Delete> keystroke deletes the word to the right of the cursor.
|
||||
## On some terminals the <Ctrl+Backspace> keystroke produces ^H, which is
|
||||
## the ASCII character for backspace, so it is bound by default to the
|
||||
## backspace function. The <Backspace> key itself produces a different
|
||||
## keycode, which is hard-bound to the backspace function. So, if you
|
||||
## normally use <Backspace> for backspacing and not ^H, you can make
|
||||
## <Ctrl+Backspace> delete the word to the left of the cursor with:
|
||||
# bind ^H chopwordleft main
|
||||
|
||||
## If you would like nano to have keybindings that are more "usual",
|
||||
## such as ^O for Open, ^F for Find, ^H for Help, and ^Q for Quit,
|
||||
## then uncomment these:
|
||||
#bind ^Q exit all
|
||||
#bind ^S savefile main
|
||||
#bind ^W writeout main
|
||||
#bind ^O insert main
|
||||
#bind ^H help all
|
||||
#bind ^H exit help
|
||||
#bind ^F whereis all
|
||||
#bind ^G findnext all
|
||||
#bind ^B wherewas all
|
||||
#bind ^D findprevious all
|
||||
#bind ^R replace main
|
||||
#bind M-X flipnewbuffer all
|
||||
#bind ^X cut all
|
||||
#bind ^C copy main
|
||||
#bind ^V paste all
|
||||
#bind ^P location main
|
||||
#bind ^A mark main
|
||||
#unbind ^K main
|
||||
#unbind ^U all
|
||||
#unbind ^N main
|
||||
#unbind ^Y all
|
||||
#unbind M-J main
|
||||
#unbind M-T main
|
||||
#bind ^T gotoline main
|
||||
#bind ^T gotodir browser
|
||||
#bind ^Y speller main
|
||||
#bind M-U undo main
|
||||
#bind M-R redo main
|
||||
#bind ^U undo main
|
||||
#bind ^E redo main
|
||||
#set multibuffer
|
@ -139,13 +139,13 @@ configuration {
|
||||
/* me-select-entry: "MousePrimary";*/
|
||||
/* me-accept-entry: "MouseDPrimary";*/
|
||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||
timeout {
|
||||
/* timeout {
|
||||
action: "kb-cancel";
|
||||
delay: 0;
|
||||
}
|
||||
filebrowser {
|
||||
directories-first: true;
|
||||
sorting-method: "name";
|
||||
}
|
||||
}*/
|
||||
}
|
||||
@theme "/usr/share/rofi/themes/Arc-Dark.rasi"
|
||||
|
@ -0,0 +1,16 @@
|
||||
[
|
||||
{ "keys": ["ctrl+alt+up"], "command": "select_lines", "args": {"forward": false} },
|
||||
{ "keys": ["ctrl+alt+down"], "command": "select_lines", "args": {"forward": true} },
|
||||
{ "keys": ["ctrl+tab"], "command": "next_view" },
|
||||
{ "keys": ["ctrl+shift+tab"], "command": "prev_view" },
|
||||
{ "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} },
|
||||
{ "keys": ["alt+keypad_plus"], "command": "jump_forward" },
|
||||
{ "keys": ["ctrl+b"], "command": "none" },
|
||||
{ "keys": ["ctrl+keypad_enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} },
|
||||
// { "keys": ["shift+tab"], "command": "insert", "args": {"characters": "\t"} },
|
||||
// { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true} } // can't unset this. fuck you.
|
||||
{ "keys": ["ctrl+alt+n"], "command": "new_snippet" },
|
||||
{ "keys": ["ctrl+alt+f"], "command": "auto_indent" }
|
||||
// { "keys": [""], "command": "lower_case" }
|
||||
// { "keys": [""], "command": "upper_case" }
|
||||
]
|
@ -0,0 +1,48 @@
|
||||
// Settings in here override those in "Default/Preferences.sublime-settings",
|
||||
// and are overridden in turn by syntax-specific settings.
|
||||
{
|
||||
"always_show_minimap_viewport": true,
|
||||
"auto_complete_commit_on_tab": true,
|
||||
"auto_complete_trailing_symbols": true,
|
||||
"auto_complete_with_fields": true,
|
||||
"bold_folder_labels": true,
|
||||
"color_scheme": "Mariana.sublime-color-scheme",
|
||||
"drag_text": false,
|
||||
"draw_white_space": ["selection", "all_mixed"],
|
||||
"enable_tab_scrolling": false,
|
||||
"ensure_newline_at_eof_on_save": true,
|
||||
"fade_fold_buttons": false,
|
||||
"fallback_encoding": "UTF-8",
|
||||
"font_size": 11,
|
||||
"font_face": "JetBrains Mono Regular",
|
||||
"highlight_line": true,
|
||||
"highlight_modified_tabs": true,
|
||||
"ignored_packages":
|
||||
[
|
||||
"Vintage",
|
||||
],
|
||||
"indent_to_bracket": false,
|
||||
"margin": 0,
|
||||
"rulers":
|
||||
[
|
||||
0,
|
||||
3,
|
||||
120
|
||||
],
|
||||
"shift_tab_unindent": true,
|
||||
"show_encoding": true,
|
||||
"show_line_endings": true,
|
||||
"tab_completion": false,
|
||||
"remember_full_screen": true,
|
||||
"scroll_past_end": false,
|
||||
"tab_size": 3,
|
||||
"theme": "Adaptive.sublime-theme",
|
||||
"translate_tabs_to_spaces": true,
|
||||
"trim_automatic_white_space": false,
|
||||
"trim_trailing_white_space_on_save": "all",
|
||||
"ui_scale": 1.1,
|
||||
"use_tab_stops": false,
|
||||
"word_wrap": true,
|
||||
"wrap_width": 120,
|
||||
"index_files": true,
|
||||
}
|
@ -1,563 +0,0 @@
|
||||
Installing
|
||||
==========
|
||||
|
||||
Windows
|
||||
-------
|
||||
|
||||
In the ttf folder, double-click each font file, click “Install font”; to install all at once, select all files, right-click, and choose “Install”
|
||||
|
||||
OR
|
||||
|
||||
Use https://chocolatey.org:
|
||||
|
||||
choco install firacode
|
||||
|
||||
|
||||
macOS
|
||||
-----
|
||||
|
||||
In the downloaded TTF folder:
|
||||
|
||||
1. Select all font files
|
||||
2. Right click and select `Open` (alternatively `Open With Font Book`)
|
||||
3. Select "Install Font"
|
||||
|
||||
OR
|
||||
|
||||
Use http://brew.sh:
|
||||
|
||||
`brew tap homebrew/cask-fonts`
|
||||
`brew install font-fira-code`
|
||||
|
||||
|
||||
Ubuntu Zesty (17.04), Debian Stretch (9) or newer
|
||||
-------------------------------------------------
|
||||
|
||||
1. Make sure that the `universe` (for Ubuntu) or `contrib` (for Debian) repository is enabled (see https://askubuntu.com/questions/148638/how-do-i-enable-the-universe-repository or https://wiki.debian.org/SourcesList#Component)
|
||||
2. Install `fonts-firacode` package either by executing `sudo apt install fonts-firacode` in the terminal or via GUI tool (like “Software Center”)
|
||||
|
||||
|
||||
Arch Linux
|
||||
----------
|
||||
|
||||
Fira Code package is available in the official repository: https://www.archlinux.org/packages/community/any/ttf-fira-code/.
|
||||
|
||||
Variant of Fira Code package is available in the AUR: https://aur.archlinux.org/packages/otf-fira-code-git/.
|
||||
|
||||
|
||||
Gentoo
|
||||
------
|
||||
|
||||
emerge -av media-fonts/fira-code
|
||||
|
||||
|
||||
Fedora
|
||||
------
|
||||
|
||||
To install, perform the following commands:
|
||||
|
||||
dnf install fira-code-fonts
|
||||
|
||||
|
||||
Solus
|
||||
-----
|
||||
|
||||
Fira Code package is available in the official repository: `font-firacode-ttf` and `font-firacode-otf`.
|
||||
They can be installed by running:
|
||||
|
||||
sudo eopkg install font-firacode-ttf font-firacode-otf
|
||||
|
||||
|
||||
Void linux
|
||||
----------
|
||||
|
||||
xbps-install font-firacode
|
||||
|
||||
|
||||
Linux Manual Installation
|
||||
-------------------------
|
||||
|
||||
With most desktop-oriented distributions, double-clicking each font file in the ttf folder and selecting “Install font” should be enough. If it isn’t, create and run `download_and_install.sh` script:
|
||||
|
||||
#!/usr/bin/env bash
|
||||
|
||||
fonts_dir="${HOME}/.local/share/fonts"
|
||||
if [ ! -d "${fonts_dir}" ]; then
|
||||
echo "mkdir -p $fonts_dir"
|
||||
mkdir -p "${fonts_dir}"
|
||||
else
|
||||
echo "Found fonts dir $fonts_dir"
|
||||
fi
|
||||
|
||||
for type in Bold Light Medium Regular Retina; do
|
||||
file_path="${HOME}/.local/share/fonts/FiraCode-${type}.ttf"
|
||||
file_url="https://github.com/tonsky/FiraCode/blob/master/distr/ttf/FiraCode-${type}.ttf?raw=true"
|
||||
if [ ! -e "${file_path}" ]; then
|
||||
echo "wget -O $file_path $file_url"
|
||||
wget -O "${file_path}" "${file_url}"
|
||||
else
|
||||
echo "Found existing file $file_path"
|
||||
fi;
|
||||
done
|
||||
|
||||
echo "fc-cache -f"
|
||||
fc-cache -f
|
||||
|
||||
More details: https://github.com/tonsky/FiraCode/issues/4
|
||||
|
||||
|
||||
FreeBSD
|
||||
-------
|
||||
|
||||
Using pkg(8):
|
||||
|
||||
pkg install firacode
|
||||
|
||||
OR
|
||||
|
||||
Using ports:
|
||||
|
||||
cd /usr/ports/x11-fonts/firacode && make install clean
|
||||
|
||||
|
||||
Enabling ligatures
|
||||
==================
|
||||
|
||||
Atom
|
||||
----
|
||||
|
||||
To change your font to Fira Code, open Atom's preferences (`cmd + ,` on a Mac, `ctrl + ,` on PC), make sure the "Settings" tab is selected, or the "Editor" in Atom 1.10+, and scroll down to "Editor Settings". In the "Font Family" field, enter `Fira Code`.
|
||||
|
||||
If you wish to specify a font weight, for example, Light, use `Fira Code Light` as a font name (Windows) or `FiraCode-Light` (macOS).
|
||||
|
||||
Ligatures are enabled by default in Atom 1.9 and above.
|
||||
|
||||
|
||||
VS Code
|
||||
-------
|
||||
|
||||
To open the settings editor, first from the File menu choose Preferences, Settings or use keyboard shortcut `Ctrl + ,` (Windows) or `Cmd + ,` (macOS).
|
||||
|
||||
To enable FiraCode in the settings editor, under "Commonly Used", expand the "Text Editor" settings and then click on "Font". In the "Font Family" input box type `Fira Code`, replacing any content. Tick the check box "Enables/Disables font ligatures" under "Font Ligatures" to enable the special ligatures.
|
||||
|
||||
If you wish to specify a font weight, for example, Light, use `Fira Code Light` as a font name (Windows) or `FiraCode-Light` (macOS).
|
||||
|
||||
|
||||
IntelliJ products
|
||||
-----------------
|
||||
|
||||
1. Enable in Settings → Editor → Font → Enable Font Ligatures
|
||||
2. Select `Fira Code` as "Primary font" under Settings → Editor → Font
|
||||
|
||||
Additionally, if a Color Scheme is selected:
|
||||
|
||||
3. Enable in Settings → Editor → Color Scheme → Color Scheme Font → Enable Font Ligatures
|
||||
4. Select Fira Code as "Primary font" under Settings → Editor → Color Scheme → Color Scheme Font
|
||||
|
||||
|
||||
BBEdit, TextWrangler
|
||||
--------------------
|
||||
|
||||
Run in your terminal:
|
||||
|
||||
defaults write com.barebones.bbedit "EnableFontLigatures_Fira Code" -bool YES
|
||||
|
||||
Source: https://www.barebones.com/support/bbedit/ExpertPreferences.html
|
||||
|
||||
|
||||
Brackets
|
||||
--------
|
||||
|
||||
1. From the `View` menu choose `Themes....`
|
||||
2. Paste `'Fira Code'`, at the beginning of `Font Family`
|
||||
|
||||
|
||||
Emacs
|
||||
-----
|
||||
|
||||
There are a few options when it comes down to using ligatures in
|
||||
Emacs. They are listed in order of preferred to less-preferred. Pick one!
|
||||
|
||||
1. Using composition mode in Emacs Mac port
|
||||
|
||||
If you're using the latest Mac port of Emacs (https://bitbucket.org/mituharu/emacs-mac by Mitsuharu Yamamoto) for macOS, you can use:
|
||||
|
||||
(mac-auto-operator-composition-mode)
|
||||
|
||||
This is generally the easiest solution, but can only be used on macOS.
|
||||
|
||||
2. Using prettify-symbols
|
||||
|
||||
These instructions are pieced together by https://github.com/Triavanicus, taking some pieces from https://github.com/minad/hasklig-mode.
|
||||
|
||||
This method requires you to install the Fira Code Symbol font, made by https://github.com/siegebell:
|
||||
https://github.com/tonsky/FiraCode/issues/211#issuecomment-239058632
|
||||
|
||||
(defun fira-code-mode--make-alist (list)
|
||||
"Generate prettify-symbols alist from LIST."
|
||||
(let ((idx -1))
|
||||
(mapcar
|
||||
(lambda (s)
|
||||
(setq idx (1+ idx))
|
||||
(let* ((code (+ #Xe100 idx))
|
||||
(width (string-width s))
|
||||
(prefix ())
|
||||
(suffix '(?\s (Br . Br)))
|
||||
(n 1))
|
||||
(while (< n width)
|
||||
(setq prefix (append prefix '(?\s (Br . Bl))))
|
||||
(setq n (1+ n)))
|
||||
(cons s (append prefix suffix (list (decode-char 'ucs code))))))
|
||||
list)))
|
||||
|
||||
(defconst fira-code-mode--ligatures
|
||||
'("www" "**" "***" "**/" "*>" "*/" "\\\\" "\\\\\\"
|
||||
"{-" "[]" "::" ":::" ":=" "!!" "!=" "!==" "-}"
|
||||
"--" "---" "-->" "->" "->>" "-<" "-<<" "-~"
|
||||
"#{" "#[" "##" "###" "####" "#(" "#?" "#_" "#_("
|
||||
".-" ".=" ".." "..<" "..." "?=" "??" ";;" "/*"
|
||||
"/**" "/=" "/==" "/>" "//" "///" "&&" "||" "||="
|
||||
"|=" "|>" "^=" "$>" "++" "+++" "+>" "=:=" "=="
|
||||
"===" "==>" "=>" "=>>" "<=" "=<<" "=/=" ">-" ">="
|
||||
">=>" ">>" ">>-" ">>=" ">>>" "<*" "<*>" "<|" "<|>"
|
||||
"<$" "<$>" "<!--" "<-" "<--" "<->" "<+" "<+>" "<="
|
||||
"<==" "<=>" "<=<" "<>" "<<" "<<-" "<<=" "<<<" "<~"
|
||||
"<~~" "</" "</>" "~@" "~-" "~=" "~>" "~~" "~~>" "%%"
|
||||
"x" ":" "+" "+" "*"))
|
||||
|
||||
(defvar fira-code-mode--old-prettify-alist)
|
||||
|
||||
(defun fira-code-mode--enable ()
|
||||
"Enable Fira Code ligatures in current buffer."
|
||||
(setq-local fira-code-mode--old-prettify-alist prettify-symbols-alist)
|
||||
(setq-local prettify-symbols-alist (append (fira-code-mode--make-alist fira-code-mode--ligatures) fira-code-mode--old-prettify-alist))
|
||||
(prettify-symbols-mode t))
|
||||
|
||||
(defun fira-code-mode--disable ()
|
||||
"Disable Fira Code ligatures in current buffer."
|
||||
(setq-local prettify-symbols-alist fira-code-mode--old-prettify-alist)
|
||||
(prettify-symbols-mode -1))
|
||||
|
||||
(define-minor-mode fira-code-mode
|
||||
"Fira Code ligatures minor mode"
|
||||
:lighter " Fira Code"
|
||||
(setq-local prettify-symbols-unprettify-at-point 'right-edge)
|
||||
(if fira-code-mode
|
||||
(fira-code-mode--enable)
|
||||
(fira-code-mode--disable)))
|
||||
|
||||
(defun fira-code-mode--setup ()
|
||||
"Setup Fira Code Symbols"
|
||||
(set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol"))
|
||||
|
||||
(provide 'fira-code-mode)
|
||||
|
||||
Alternative instructions: https://github.com/Profpatsch/blog/blob/master/posts/ligature-emulation-in-emacs/post.md#appendix-b-update-1-firacode-integration
|
||||
|
||||
3. Using composition char table
|
||||
|
||||
Thanks to https://github.com/seanfarley for putting this together; extended by https://github.com/jrblevin.
|
||||
|
||||
Put this lisp in your .emacs:
|
||||
|
||||
(when (window-system)
|
||||
(set-frame-font "Fira Code"))
|
||||
(let ((alist '((33 . ".\\(?:\\(?:==\\|!!\\)\\|[!=]\\)")
|
||||
(35 . ".\\(?:###\\|##\\|_(\\|[#(?[_{]\\)")
|
||||
(36 . ".\\(?:>\\)")
|
||||
(37 . ".\\(?:\\(?:%%\\)\\|%\\)")
|
||||
(38 . ".\\(?:\\(?:&&\\)\\|&\\)")
|
||||
(42 . ".\\(?:\\(?:\\*\\*/\\)\\|\\(?:\\*[*/]\\)\\|[*/>]\\)")
|
||||
(43 . ".\\(?:\\(?:\\+\\+\\)\\|[+>]\\)")
|
||||
(45 . ".\\(?:\\(?:-[>-]\\|<<\\|>>\\)\\|[<>}~-]\\)")
|
||||
(46 . ".\\(?:\\(?:\\.[.<]\\)\\|[.=-]\\)")
|
||||
(47 . ".\\(?:\\(?:\\*\\*\\|//\\|==\\)\\|[*/=>]\\)")
|
||||
(48 . ".\\(?:x[a-zA-Z]\\)")
|
||||
(58 . ".\\(?:::\\|[:=]\\)")
|
||||
(59 . ".\\(?:;;\\|;\\)")
|
||||
(60 . ".\\(?:\\(?:!--\\)\\|\\(?:~~\\|->\\|\\$>\\|\\*>\\|\\+>\\|--\\|<[<=-]\\|=[<=>]\\||>\\)\\|[*$+~/<=>|-]\\)")
|
||||
(61 . ".\\(?:\\(?:/=\\|:=\\|<<\\|=[=>]\\|>>\\)\\|[<=>~]\\)")
|
||||
(62 . ".\\(?:\\(?:=>\\|>[=>-]\\)\\|[=>-]\\)")
|
||||
(63 . ".\\(?:\\(\\?\\?\\)\\|[:=?]\\)")
|
||||
(91 . ".\\(?:]\\)")
|
||||
(92 . ".\\(?:\\(?:\\\\\\\\\\)\\|\\\\\\)")
|
||||
(94 . ".\\(?:=\\)")
|
||||
(119 . ".\\(?:ww\\)")
|
||||
(123 . ".\\(?:-\\)")
|
||||
(124 . ".\\(?:\\(?:|[=|]\\)\\|[=>|]\\)")
|
||||
(126 . ".\\(?:~>\\|~~\\|[>=@~-]\\)")
|
||||
)
|
||||
))
|
||||
(dolist (char-regexp alist)
|
||||
(set-char-table-range composition-function-table (car char-regexp)
|
||||
`([,(cdr char-regexp) 0 font-shape-gstring]))))
|
||||
|
||||
**Note!** If you get `error in process filter: Attempt to shape unibyte text`, check out https://github.com/tonsky/FiraCode/issues/42. Emacs Cider users may avoid this issue by commenting the following line from the above config:
|
||||
|
||||
;; (46 . ".\\(?:\\(?:\\.[.<]\\)\\|[.=-]\\)")
|
||||
|
||||
Char `45` is also known to have issues in macOS Mojave.
|
||||
|
||||
If you are having problems with helm you can disable ligatures in helm:
|
||||
|
||||
(add-hook 'helm-major-mode-hook
|
||||
(lambda ()
|
||||
(setq auto-composition-mode nil)))
|
||||
|
||||
4. Using font-lock keywords
|
||||
|
||||
If none of the above worked, you can try this method.
|
||||
|
||||
This method requires you to install the Fira Code Symbol font, made by https://github.com/siegebell:
|
||||
https://github.com/tonsky/FiraCode/issues/211#issuecomment-239058632
|
||||
|
||||
;;; Fira code
|
||||
;; This works when using emacs --daemon + emacsclient
|
||||
(add-hook 'after-make-frame-functions (lambda (frame) (set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")))
|
||||
;; This works when using emacs without server/client
|
||||
(set-fontset-font t '(#Xe100 . #Xe16f) "Fira Code Symbol")
|
||||
;; I haven't found one statement that makes both of the above situations work, so I use both for now
|
||||
|
||||
(defconst fira-code-font-lock-keywords-alist
|
||||
(mapcar (lambda (regex-char-pair)
|
||||
`(,(car regex-char-pair)
|
||||
(0 (prog1 ()
|
||||
(compose-region (match-beginning 1)
|
||||
(match-end 1)
|
||||
;; The first argument to concat is a string containing a literal tab
|
||||
,(concat " " (list (decode-char 'ucs (cadr regex-char-pair)))))))))
|
||||
'(("\\(www\\)" #Xe100)
|
||||
("[^/]\\(\\*\\*\\)[^/]" #Xe101)
|
||||
("\\(\\*\\*\\*\\)" #Xe102)
|
||||
("\\(\\*\\*/\\)" #Xe103)
|
||||
("\\(\\*>\\)" #Xe104)
|
||||
("[^*]\\(\\*/\\)" #Xe105)
|
||||
("\\(\\\\\\\\\\)" #Xe106)
|
||||
("\\(\\\\\\\\\\\\\\)" #Xe107)
|
||||
("\\({-\\)" #Xe108)
|
||||
("\\(\\[\\]\\)" #Xe109)
|
||||
("\\(::\\)" #Xe10a)
|
||||
("\\(:::\\)" #Xe10b)
|
||||
("[^=]\\(:=\\)" #Xe10c)
|
||||
("\\(!!\\)" #Xe10d)
|
||||
("\\(!=\\)" #Xe10e)
|
||||
("\\(!==\\)" #Xe10f)
|
||||
("\\(-}\\)" #Xe110)
|
||||
("\\(--\\)" #Xe111)
|
||||
("\\(---\\)" #Xe112)
|
||||
("\\(-->\\)" #Xe113)
|
||||
("[^-]\\(->\\)" #Xe114)
|
||||
("\\(->>\\)" #Xe115)
|
||||
("\\(-<\\)" #Xe116)
|
||||
("\\(-<<\\)" #Xe117)
|
||||
("\\(-~\\)" #Xe118)
|
||||
("\\(#{\\)" #Xe119)
|
||||
("\\(#\\[\\)" #Xe11a)
|
||||
("\\(##\\)" #Xe11b)
|
||||
("\\(###\\)" #Xe11c)
|
||||
("\\(####\\)" #Xe11d)
|
||||
("\\(#(\\)" #Xe11e)
|
||||
("\\(#\\?\\)" #Xe11f)
|
||||
("\\(#_\\)" #Xe120)
|
||||
("\\(#_(\\)" #Xe121)
|
||||
("\\(\\.-\\)" #Xe122)
|
||||
("\\(\\.=\\)" #Xe123)
|
||||
("\\(\\.\\.\\)" #Xe124)
|
||||
("\\(\\.\\.<\\)" #Xe125)
|
||||
("\\(\\.\\.\\.\\)" #Xe126)
|
||||
("\\(\\?=\\)" #Xe127)
|
||||
("\\(\\?\\?\\)" #Xe128)
|
||||
("\\(;;\\)" #Xe129)
|
||||
("\\(/\\*\\)" #Xe12a)
|
||||
("\\(/\\*\\*\\)" #Xe12b)
|
||||
("\\(/=\\)" #Xe12c)
|
||||
("\\(/==\\)" #Xe12d)
|
||||
("\\(/>\\)" #Xe12e)
|
||||
("\\(//\\)" #Xe12f)
|
||||
("\\(///\\)" #Xe130)
|
||||
("\\(&&\\)" #Xe131)
|
||||
("\\(||\\)" #Xe132)
|
||||
("\\(||=\\)" #Xe133)
|
||||
("[^|]\\(|=\\)" #Xe134)
|
||||
("\\(|>\\)" #Xe135)
|
||||
("\\(\\^=\\)" #Xe136)
|
||||
("\\(\\$>\\)" #Xe137)
|
||||
("\\(\\+\\+\\)" #Xe138)
|
||||
("\\(\\+\\+\\+\\)" #Xe139)
|
||||
("\\(\\+>\\)" #Xe13a)
|
||||
("\\(=:=\\)" #Xe13b)
|
||||
("[^!/]\\(==\\)[^>]" #Xe13c)
|
||||
("\\(===\\)" #Xe13d)
|
||||
("\\(==>\\)" #Xe13e)
|
||||
("[^=]\\(=>\\)" #Xe13f)
|
||||
("\\(=>>\\)" #Xe140)
|
||||
("\\(<=\\)" #Xe141)
|
||||
("\\(=<<\\)" #Xe142)
|
||||
("\\(=/=\\)" #Xe143)
|
||||
("\\(>-\\)" #Xe144)
|
||||
("\\(>=\\)" #Xe145)
|
||||
("\\(>=>\\)" #Xe146)
|
||||
("[^-=]\\(>>\\)" #Xe147)
|
||||
("\\(>>-\\)" #Xe148)
|
||||
("\\(>>=\\)" #Xe149)
|
||||
("\\(>>>\\)" #Xe14a)
|
||||
("\\(<\\*\\)" #Xe14b)
|
||||
("\\(<\\*>\\)" #Xe14c)
|
||||
("\\(<|\\)" #Xe14d)
|
||||
("\\(<|>\\)" #Xe14e)
|
||||
("\\(<\\$\\)" #Xe14f)
|
||||
("\\(<\\$>\\)" #Xe150)
|
||||
("\\(<!--\\)" #Xe151)
|
||||
("\\(<-\\)" #Xe152)
|
||||
("\\(<--\\)" #Xe153)
|
||||
("\\(<->\\)" #Xe154)
|
||||
("\\(<\\+\\)" #Xe155)
|
||||
("\\(<\\+>\\)" #Xe156)
|
||||
("\\(<=\\)" #Xe157)
|
||||
("\\(<==\\)" #Xe158)
|
||||
("\\(<=>\\)" #Xe159)
|
||||
("\\(<=<\\)" #Xe15a)
|
||||
("\\(<>\\)" #Xe15b)
|
||||
("[^-=]\\(<<\\)" #Xe15c)
|
||||
("\\(<<-\\)" #Xe15d)
|
||||
("\\(<<=\\)" #Xe15e)
|
||||
("\\(<<<\\)" #Xe15f)
|
||||
("\\(<~\\)" #Xe160)
|
||||
("\\(<~~\\)" #Xe161)
|
||||
("\\(</\\)" #Xe162)
|
||||
("\\(</>\\)" #Xe163)
|
||||
("\\(~@\\)" #Xe164)
|
||||
("\\(~-\\)" #Xe165)
|
||||
("\\(~=\\)" #Xe166)
|
||||
("\\(~>\\)" #Xe167)
|
||||
("[^<]\\(~~\\)" #Xe168)
|
||||
("\\(~~>\\)" #Xe169)
|
||||
("\\(%%\\)" #Xe16a)
|
||||
("[0\[]\\(x\\)" #Xe16b)
|
||||
("[^:=]\\(:\\)[^:=]" #Xe16c)
|
||||
("[^\\+<>]\\(\\+\\)[^\\+<>]" #Xe16d)
|
||||
("[^\\*/<>]\\(\\*\\)[^\\*/<>]" #Xe16f))))
|
||||
|
||||
(defun add-fira-code-symbol-keywords ()
|
||||
(font-lock-add-keywords nil fira-code-font-lock-keywords-alist))
|
||||
|
||||
(add-hook 'prog-mode-hook
|
||||
#'add-fira-code-symbol-keywords)
|
||||
|
||||
On some systems, `==` will appear incorrectly as a blank space in certain modes unless you add the following lines to your init file:
|
||||
|
||||
(set-language-environment "UTF-8")
|
||||
(set-default-coding-systems 'utf-8)
|
||||
|
||||
|
||||
GoormIDE
|
||||
--------
|
||||
|
||||
In a workspace:
|
||||
|
||||
1. Click goormIDE, then Preferences.
|
||||
2. Go to Theme, then focus Custom Theme CSS.
|
||||
3. Copy & paste the following:
|
||||
|
||||
@font-face{
|
||||
font-family: 'Fira Code';
|
||||
src: url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/eot/FiraCode-Regular.eot') format('embedded-opentype'),
|
||||
url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/woff2/FiraCode-Regular.woff2') format('woff2'),
|
||||
url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/woff/FiraCode-Regular.woff') format('woff'),
|
||||
url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/ttf/FiraCode-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.editor_container pre {
|
||||
-webkit-font-feature-settings: "liga" on, "calt" on;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-family: 'Fira Code';
|
||||
}
|
||||
|
||||
4. Click Aplly or OK
|
||||
5. Happy coding!
|
||||
|
||||
|
||||
Cloud9
|
||||
------
|
||||
|
||||
In a workspace:
|
||||
|
||||
1. Click Cloud9, then Preferences (or use keyboard shortcut CTRL + ,)
|
||||
2. Go to Themes, then click on You can also style Cloud9 by editing your stylesheet (this will open a blank styles.css file in the C9 editor)
|
||||
3. Copy & paste the following:
|
||||
|
||||
@font-face{
|
||||
font-family: 'Fira Code';
|
||||
src: url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/eot/FiraCode-Regular.eot') format('embedded-opentype'),
|
||||
url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/woff2/FiraCode-Regular.woff2') format('woff2'),
|
||||
url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/woff/FiraCode-Regular.woff') format('woff'),
|
||||
url('https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/ttf/FiraCode-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.ace_editor{
|
||||
-webkit-font-feature-settings: "liga" on, "calt" on;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-family: 'Fira Code';
|
||||
}
|
||||
|
||||
4. Back in Preferences tab, click on User Settings, then click on Code Editor (Ace)
|
||||
5. In Font Family field, enter Fira Code
|
||||
6. Optionally, repeat step 5 for Preferences > User Settings > Terminal, if you want Fira Code font in C9 terminal.
|
||||
|
||||
|
||||
MacVim
|
||||
------
|
||||
|
||||
Add this to ~/.gvimrc:
|
||||
|
||||
set macligatures
|
||||
set guifont=Fira\ Code:h12
|
||||
|
||||
MacVim supports ligatures starting from version 7.4.
|
||||
|
||||
|
||||
RStudio
|
||||
-------
|
||||
|
||||
In RStudio:
|
||||
|
||||
1. Go to Tools > Global Options > Appearance
|
||||
2. Select "Fira Code" as Editor Font. In older versions of RStudio, check "Use Ligatures".
|
||||
3. Hit "OK" and enjoy
|
||||
|
||||
|
||||
Sublime Text
|
||||
------------
|
||||
|
||||
Preferences --> Settings
|
||||
|
||||
Add before "ignored_packages":
|
||||
|
||||
"font_face": "Fira Code",
|
||||
"font_options": ["subpixel_antialias"],
|
||||
|
||||
If you want enable antialias, add in font_options: "gray_antialias"
|
||||
|
||||
|
||||
Visual Studio
|
||||
-------------
|
||||
|
||||
1. Launch Visual Studio (2015 or later).
|
||||
2. Launch the Options dialog by opening the "Tools" menu and selecting "Options".
|
||||
3. In the Options dialog, under the "Environment" category, you'll find "Fonts and Colors". Click on that. You'll see a combo-box on the right hand side of the dialog labelled "Font". Select "Fira Code" from that combo-box.
|
||||
4. Click "OK" to dismiss.
|
||||
5. Restart Visual Studio.
|
||||
|
||||
Now, most FiraCode ligatures will work. A notable exception is the hyphen-based ligatures (e.g. the C++ dereference '->'). See https://github.com/tonsky/FiraCode/issues/422 for details.
|
||||
|
||||
|
||||
Troubleshooting
|
||||
===============
|
||||
|
||||
See https://github.com/tonsky/FiraCode/wiki/Troubleshooting
|
@ -1,48 +0,0 @@
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Light.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Light.woff") format("woff");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Regular.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Regular.woff") format("woff");
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Medium.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Medium.woff") format("woff");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-SemiBold.woff2') format('woff2'),
|
||||
url("woff/FiraCode-SemiBold.woff") format("woff");
|
||||
font-weight: 600;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code';
|
||||
src: url('woff2/FiraCode-Bold.woff2') format('woff2'),
|
||||
url("woff/FiraCode-Bold.woff") format("woff");
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Fira Code VF';
|
||||
src: url('woff2/FiraCode-VF.woff2') format('woff2-variations'),
|
||||
url('woff/FiraCode-VF.woff') format('woff-variations');
|
||||
/* font-weight requires a range: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide#Using_a_variable_font_font-face_changes */
|
||||
font-weight: 300 700;
|
||||
font-style: normal;
|
||||
}
|
@ -1,95 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title>Fira Code Specimen</title>
|
||||
|
||||
<link rel="stylesheet" href="fira_code.css">
|
||||
<style>
|
||||
body { font: 14px/1.5em "Fira Code"; }
|
||||
.code {
|
||||
font-feature-settings: "calt" 1; /* Enable ligatures for IE 10+, Edge */
|
||||
text-rendering: optimizeLegibility; /* Force ligatures for Webkit, Blink, Gecko */
|
||||
width: 30em;
|
||||
margin: 5em auto;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
}
|
||||
.light { font-weight: 300; }
|
||||
.regular { font-weight: 400; }
|
||||
.medium { font-weight: 500; }
|
||||
.semibold { font-weight: 600; }
|
||||
.bold { font-weight: 700; }
|
||||
.variable { font-family: 'Fira Code VF'; font-variation-settings: 'wght' 400; }
|
||||
i { font-style: normal; color: #c33; }
|
||||
b { font-weight: inherit; color: #c33; }
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function onWeightChange(weight) {
|
||||
// code_variable.style['font-weight'] = weight;
|
||||
code_variable.style['font-variation-settings'] = "'wght' " + weight;
|
||||
span_wght.innerText = weight;
|
||||
}
|
||||
</script>
|
||||
<body>
|
||||
|
||||
<div class="code light"><b># Fira Code Light</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code regular"><b># Fira Code Regular</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code medium"><b># Fira Code Medium</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code semibold"><b># Fira Code SemiBold</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
|
||||
<div class="code bold"><b># Fira Code Bold</b>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
||||
|
||||
<div id="code_variable" class="code variable"><b># Fira Code Variable</b>
|
||||
|
||||
<input type="range" min="300" max="700" value="400" step="10" style="width: 300px;" oninput="onWeightChange(this.value)" onchange="onWeightChange(this.value)"> <span id="span_wght">400</span>
|
||||
|
||||
take = (n, [x, <i>...</i>xs]:list) <i>--></i>
|
||||
| n <i><=</i> 0 <i>=></i> []
|
||||
| empty list <i>=></i> []
|
||||
| otherwise <i>=></i> [x] <i>++</i> take n-1, xs
|
||||
|
||||
last3 = reverse <i>>></i> take 3 <i>>></i> reverse</div>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,10 +0,0 @@
|
||||
# This is the official list of project authors for copyright purposes.
|
||||
# This file is distinct from the CONTRIBUTORS.txt file.
|
||||
# See the latter for an explanation.
|
||||
#
|
||||
# Names should be added to this file as:
|
||||
# Name or Organization <email address>
|
||||
|
||||
JetBrains <>
|
||||
Philipp Nurullin <philipp.nurullin@jetbrains.com>
|
||||
Konstantin Bulenkov <kb@jetbrains.com>
|
@ -1,93 +0,0 @@
|
||||
Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: https://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user