From f7be401dda35cf4ebba7d0fdfd32674daa7a3bd5 Mon Sep 17 00:00:00 2001 From: Grigory Shipunov Date: Mon, 1 Jun 2020 14:14:26 +0200 Subject: [PATCH] fatal: this commit has no parent --- .dir_colors | 218 +++++++++++++++ .irssi/config | 330 +++++++++++++++++++++++ .irssi/default.theme | 295 +++++++++++++++++++++ .tmux.conf | 143 ++++++++++ .zprofile | 14 + .zshrc | 56 ++++ config/flake8 | 5 + config/git/.gitignore | 2 + config/git/config | 15 ++ config/nvim/.gitignore | 2 + config/nvim/init.vim | 174 ++++++++++++ config/pylintrc | 589 +++++++++++++++++++++++++++++++++++++++++ 12 files changed, 1843 insertions(+) create mode 100644 .dir_colors create mode 100644 .irssi/config create mode 100644 .irssi/default.theme create mode 100644 .tmux.conf create mode 100644 .zprofile create mode 100644 .zshrc create mode 100644 config/flake8 create mode 100644 config/git/.gitignore create mode 100644 config/git/config create mode 100644 config/nvim/.gitignore create mode 100644 config/nvim/init.vim create mode 100644 config/pylintrc diff --git a/.dir_colors b/.dir_colors new file mode 100644 index 0000000..d6a0ce1 --- /dev/null +++ b/.dir_colors @@ -0,0 +1,218 @@ +# ____ _ _ __ +# | __ ) __ _ __| |_ _____ | |/ _| +# | _ \ / _` |/ _` \ \ /\ / / _ \| | |_ +# | |_) | (_| | (_| |\ V V / (_) | | _| +# |____/ \__,_|\__,_| \_/\_/ \___/|_|_| +# _ _ _ +# __| (_)_ __ ___ ___ | | ___ _ __ ___ +# / _` | | '__/ __/ _ \| |/ _ \| '__/ __| +# | (_| | | | | (_| (_) | | (_) | | \__ \ +# \__,_|_|_| \___\___/|_|\___/|_| |___/ +# +# +# Author: Jon Bernard +# + +# Below, there should be one TERM entry for each termtype that is colorizable +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM eterm-color +TERM gnome +TERM gnome-256color +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mlterm +TERM putty +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode-256color +TERM rxvt-unicode256 +TERM screen +TERM screen-256color +TERM screen-256color-bce +TERM screen-bce +TERM screen-w +TERM screen.Eterm +TERM screen.rxvt +TERM screen.linux +TERM terminator +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-88color +TERM xterm-color +TERM xterm-debian + +# Below are the color init strings for the basic file types. A color init string +# consists of one or more of the following numeric codes: +# +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white + +NORMAL 0;38;15 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 1;34 # directory +LINK 01;35 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 1;38;211 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 30;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable + +# This is for files with execute permission: +EXEC 1;30;32 + +# archives or compressed (bright red) +.tar 01;31 +.tgz 01;31 +.arj 01;31 +.taz 01;31 +.lzh 01;31 +.lzma 01;31 +.tlz 01;31 +.txz 01;31 +.zip 01;31 +.z 01;31 +.Z 01;31 +.dz 01;31 +.gz 01;31 +.lz 01;31 +.xz 01;31 +.bz2 01;31 +.bz 01;31 +.tbz 01;31 +.tbz2 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.war 01;31 +.ear 01;31 +.sar 01;31 +.rar 01;31 +.ace 01;31 +.zoo 01;31 +.cpio 01;31 +.7z 01;31 +.rz 01;31 + +# image formats +.jpg 01;35 +.jpeg 01;35 +.gif 01;35 +.bmp 01;35 +.pbm 01;35 +.pgm 01;35 +.ppm 01;35 +.tga 01;35 +.xbm 01;35 +.xpm 01;35 +.tif 01;35 +.tiff 01;35 +.png 01;35 +.svg 01;35 +.svgz 01;35 +.mng 01;35 +.pcx 01;35 +.mov 01;35 +.mpg 01;35 +.mpeg 01;35 +.m2v 01;35 +.mkv 01;35 +.webm 01;35 +.ogm 01;35 +.mp4 01;35 +.m4v 01;35 +.mp4v 01;35 +.vob 01;35 +.qt 01;35 +.nuv 01;35 +.wmv 01;35 +.asf 01;35 +.rm 01;35 +.rmvb 01;35 +.flc 01;35 +.avi 01;35 +.fli 01;35 +.flv 01;35 +.gl 01;35 +.dl 01;35 +.xcf 01;35 +.xwd 01;35 +.yuv 01;35 +.cgm 01;35 +.emf 01;35 +.axv 01;35 +.anx 01;35 +.ogv 01;35 +.ogx 01;35 + +# audio formats +.aac 01;33 +.au 01;33 +.flac 01;33 +.mid 01;33 +.midi 01;33 +.mka 01;33 +.mp3 01;33 +.mpc 01;33 +.ogg 01;33 +.ra 01;33 +.wav 01;33 +.axa 01;33 +.oga 01;33 +.spx 01;33 +.xspf 01;33 + +# documents +.doc 01;91 +.ppt 01;91 +.xls 01;91 +.docx 01;91 +.pptx 01;91 +.xlsx 01;91 +.odt 01;91 +.ods 01;91 +.odp 01;91 +.pdf 01;91 +.tex 01;91 +.md 01;91 \ No newline at end of file diff --git a/.irssi/config b/.irssi/config new file mode 100644 index 0000000..b081af7 --- /dev/null +++ b/.irssi/config @@ -0,0 +1,330 @@ +servers = ( + { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }, + { + address = "ssl.efnet.org"; + chatnet = "EFNet"; + port = "9999"; + use_tls = "yes"; + }, + { + address = "irc.esper.net"; + chatnet = "EsperNet"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + }, + { + address = "chat.freenode.net"; + chatnet = "Freenode"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + }, + { + address = "irc.hackint.org"; + chatnet = "hackint"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + }, + { + address = "irc.gamesurge.net"; + chatnet = "GameSurge"; + port = "6667"; + }, + { + address = "eu.irc6.net"; + chatnet = "IRCnet"; + port = "6667"; + use_tls = "yes"; + }, + { address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; }, + { + address = "irc.ircsource.net"; + chatnet = "IRCSource"; + port = "6667"; + }, + { address = "irc.netfuze.net"; chatnet = "NetFuze"; port = "6667"; }, + { + address = "irc.oftc.net"; + chatnet = "OFTC"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + }, + { + address = "irc.quakenet.org"; + chatnet = "QuakeNet"; + port = "6667"; + }, + { + address = "irc.rizon.net"; + chatnet = "Rizon"; + port = "6697"; + use_tls = "yes"; + tls_verify = "yes"; + }, + { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }, + { + address = "irc.undernet.org"; + chatnet = "Undernet"; + port = "6667"; + }, + { + address = "mbrserver.com"; + chatnet = "MBR"; + port = "6667"; + use_tls = "no"; + tls_verify = "no"; + } +); + +chatnets = { + DALnet = { + type = "IRC"; + max_kicks = "4"; + max_msgs = "20"; + max_whois = "30"; + }; + EFNet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "4"; + max_whois = "1"; + }; + EsperNet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "4"; + max_whois = "1"; + }; + Freenode = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "4"; + max_whois = "1"; + }; + GameSurge = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "1"; + max_whois = "1"; + }; + IRCnet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "1"; + max_whois = "1"; + }; + IRCSource = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "4"; + max_whois = "1"; + }; + NetFuze = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "1"; + max_whois = "1"; + }; + OFTC = { type = "IRC"; max_kicks = "1"; max_msgs = "1"; max_whois = "1"; }; + QuakeNet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "1"; + max_whois = "1"; + }; + Rizon = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "1"; + max_whois = "1"; + }; + SILC = { type = "SILC"; }; + Undernet = { + type = "IRC"; + max_kicks = "1"; + max_msgs = "1"; + max_whois = "1"; + }; + MBR = { type = "IRC"; }; +}; + +channels = ( + { name = "#lobby"; chatnet = "EsperNet"; autojoin = "No"; }, + { name = "#freenode"; chatnet = "Freenode"; autojoin = "No"; }, + { name = "#irssi"; chatnet = "Freenode"; autojoin = "No"; }, + { name = "#gamesurge"; chatnet = "GameSurge"; autojoin = "No"; }, + { name = "#irssi"; chatnet = "IRCNet"; autojoin = "No"; }, + { name = "#ircsource"; chatnet = "IRCSource"; autojoin = "No"; }, + { name = "#netfuze"; chatnet = "NetFuze"; autojoin = "No"; }, + { name = "#oftc"; chatnet = "OFTC"; autojoin = "No"; }, + { name = "silc"; chatnet = "SILC"; autojoin = "No"; } +); + +aliases = { + ATAG = "WINDOW SERVER"; + ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}"; + B = "BAN"; + BACK = "AWAY"; + BANS = "BAN"; + BYE = "QUIT"; + C = "CLEAR"; + CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi"; + CHAT = "DCC CHAT"; + DATE = "TIME"; + DEHIGHLIGHT = "DEHILIGHT"; + DESCRIBE = "ACTION"; + DHL = "DEHILIGHT"; + EXEMPTLIST = "MODE $C +e"; + EXIT = "QUIT"; + GOTO = "SCROLLBACK GOTO"; + HIGHLIGHT = "HILIGHT"; + HL = "HILIGHT"; + HOST = "USERHOST"; + INVITELIST = "MODE $C +I"; + J = "JOIN"; + K = "KICK"; + KB = "KICKBAN"; + KN = "KNOCKOUT"; + LAST = "LASTLOG"; + LEAVE = "PART"; + M = "MSG"; + MUB = "UNBAN *"; + N = "NAMES"; + NMSG = "^MSG"; + P = "PART"; + Q = "QUERY"; + RESET = "SET -default"; + RUN = "SCRIPT LOAD"; + SAY = "MSG *"; + SB = "SCROLLBACK"; + SBAR = "STATUSBAR"; + SIGNOFF = "QUIT"; + SV = "MSG * Irssi $J ($V) - https://irssi.org"; + T = "TOPIC"; + UB = "UNBAN"; + UMODE = "MODE $N"; + UNSET = "SET -clear"; + W = "WHO"; + WC = "WINDOW CLOSE"; + WG = "WINDOW GOTO"; + WJOIN = "JOIN -window"; + WI = "WHOIS"; + WII = "WHOIS $0 $0"; + WL = "WINDOW LIST"; + WN = "WINDOW NEW HIDDEN"; + WQUERY = "QUERY -window"; + WW = "WHOWAS"; +}; + +statusbar = { + + items = { + + barstart = "{sbstart}"; + barend = "{sbend}"; + + topicbarstart = "{topicsbstart}"; + topicbarend = "{topicsbend}"; + + time = "{sb $Z}"; + user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}"; + + window = "{sb $winref:$tag/$itemname{sbmode $M}}"; + window_empty = "{sb $winref{sbservertag $tag}}"; + + prompt = "{prompt $[.15]itemname}"; + prompt_empty = "{prompt $winname}"; + + topic = " $topic"; + topic_empty = " Irssi v$J - https://irssi.org"; + + lag = "{sb Lag: $0-}"; + act = "{sb Act: $0-}"; + more = "-- more --"; + }; + + default = { + + window = { + + disabled = "no"; + type = "window"; + placement = "bottom"; + position = "1"; + visible = "active"; + + items = { + barstart = { priority = "100"; }; + time = { }; + user = { }; + window = { }; + window_empty = { }; + lag = { priority = "-1"; }; + act = { priority = "10"; }; + more = { priority = "-1"; alignment = "right"; }; + barend = { priority = "100"; alignment = "right"; }; + }; + }; + + window_inact = { + + type = "window"; + placement = "bottom"; + position = "1"; + visible = "inactive"; + + items = { + barstart = { priority = "100"; }; + window = { }; + window_empty = { }; + more = { priority = "-1"; alignment = "right"; }; + barend = { priority = "100"; alignment = "right"; }; + }; + }; + + prompt = { + + type = "root"; + placement = "bottom"; + position = "100"; + visible = "always"; + + items = { + prompt = { priority = "-1"; }; + prompt_empty = { priority = "-1"; }; + input = { priority = "10"; }; + }; + }; + + topic = { + + type = "root"; + placement = "top"; + position = "1"; + visible = "always"; + + items = { + topicbarstart = { priority = "100"; }; + topic = { }; + topic_empty = { }; + topicbarend = { priority = "100"; alignment = "right"; }; + }; + }; + }; +}; +settings = { + core = { + real_name = "oxapentane"; + user_name = "oxapentane"; + nick = "oxapentane"; + }; + "fe-text" = { actlist_sort = "refnum"; }; + "irc/core" = { + ctcp_version_reply = "irssi v$J"; + alternate_nick = "oxahexane"; + }; + "fe-common/core" = { theme = "default"; }; +}; diff --git a/.irssi/default.theme b/.irssi/default.theme new file mode 100644 index 0000000..76b95c8 --- /dev/null +++ b/.irssi/default.theme @@ -0,0 +1,295 @@ +# When testing changes, the easiest way to reload the theme is with /RELOAD. +# This reloads the configuration file too, so if you did any changes remember +# to /SAVE it first. Remember also that /SAVE overwrites the theme file with +# old data so keep backups :) + +# TEMPLATES: + +# The real text formats that irssi uses are the ones you can find with +# /FORMAT command. Back in the old days all the colors and texts were mixed +# up in those formats, and it was really hard to change the colors since you +# might have had to change them in tens of different places. So, then came +# this templating system. + +# Now the /FORMATs don't have any colors in them, and they also have very +# little other styling. Most of the stuff you need to change is in this +# theme file. If you can't change something here, you can always go back +# to change the /FORMATs directly, they're also saved in these .theme files. + +# So .. the templates. They're those {blahblah} parts you see all over the +# /FORMATs and here. Their usage is simply {name parameter1 parameter2}. +# When irssi sees this kind of text, it goes to find "name" from abstracts +# block below and sets "parameter1" into $0 and "parameter2" into $1 (you +# can have more parameters of course). Templates can have subtemplates. +# Here's a small example: +# /FORMAT format hello {colorify {underline world}} +# abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; } +# When irssi expands the templates in "format", the final string would be: +# hello %G%Uworld%U%n +# ie. underlined bright green "world" text. +# and why "$0-", why not "$0"? $0 would only mean the first parameter, +# $0- means all the parameters. With {underline hello world} you'd really +# want to underline both of the words, not just the hello (and world would +# actually be removed entirely). + +# COLORS: + +# You can find definitions for the color format codes in docs/formats.txt. + +# There's one difference here though. %n format. Normally it means the +# default color of the terminal (white mostly), but here it means the +# "reset color back to the one it was in higher template". For example +# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would +# print yellow "foo" (as set with %Y) but "bar" would be green, which was +# set at the beginning before the {foo} template. If there wasn't the %g +# at start, the normal behaviour of %n would occur. If you _really_ want +# to use the terminal's default color, use %N. + +############################################################################# + +# default foreground color (%N) - -1 is the "default terminal color" +default_color = "-1"; + +# print timestamp/servertag at the end of line, not at beginning +info_eol = "false"; + +# these characters are automatically replaced with specified color +# (dark grey by default) +replaces = { "[]=" = "%K$*%n"; }; + +abstracts = { + ## + ## generic + ## + + # text to insert at the beginning of each non-message line + line_start = "%B-%n!%B-%n "; + + # timestamp styling, nothing by default + timestamp = "$*"; + + # any kind of text that needs hilighting, default is to bold + hilight = "%_$*%_"; + + # any kind of error message, default is bright red + error = "%R$*%n"; + + # channel name is printed + channel = "%_$*%_"; + + # nick is printed + nick = "%_$*%_"; + + # nick host is printed + nickhost = "[$*]"; + + # server name is printed + server = "%_$*%_"; + + # some kind of comment is printed + comment = "[$*]"; + + # reason for something is printed (part, quit, kick, ..) + reason = "{comment $*}"; + + # mode change is printed ([+o nick]) + mode = "{comment $*}"; + + ## + ## channel specific messages + ## + + # highlighted nick/host is printed (joins) + channick_hilight = "%C$*%n"; + chanhost_hilight = "{nickhost %c$*%n}"; + + # nick/host is printed (parts, quits, etc.) + channick = "%c$*%n"; + chanhost = "{nickhost $*}"; + + # highlighted channel name is printed + channelhilight = "%c$*%n"; + + # ban/ban exception/invite list mask is printed + ban = "%c$*%n"; + + ## + ## messages + ## + + # the basic styling of how to print message, $0 = nick mode, $1 = nick + msgnick = "%K<%n$0$1-%K>%n %|"; + + # message from you is printed. "ownnick" specifies the styling of the + # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the + # whole line. + + # Example1: You want the message text to be green: + # ownmsgnick = "{msgnick $0 $1-}%g"; + # Example2.1: You want < and > chars to be yellow: + # ownmsgnick = "%Y{msgnick $0 $1-%Y}%n"; + # (you'll also have to remove <> from replaces list above) + # Example2.2: But you still want to keep <> grey for other messages: + # pubmsgnick = "%K{msgnick $0 $1-%K}%n"; + # pubmsgmenick = "%K{msgnick $0 $1-%K}%n"; + # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n"; + # ownprivmsgnick = "%K{msgnick $*%K}%n"; + # privmsgnick = "%K{msgnick %R$*%K}%n"; + + # $0 = nick mode, $1 = nick + ownmsgnick = "{msgnick $0 $1-}"; + ownnick = "%_$*%n"; + + # public message in channel, $0 = nick mode, $1 = nick + pubmsgnick = "{msgnick $0 $1-}"; + pubnick = "%N$*%n"; + + # public message in channel meant for me, $0 = nick mode, $1 = nick + pubmsgmenick = "{msgnick $0 $1-}"; + menick = "%Y$*%n"; + + # public highlighted message in channel + # $0 = highlight color, $1 = nick mode, $2 = nick + pubmsghinick = "{msgnick $1 $0$2-%n}"; + + # channel name is printed with message + msgchannel = "%K:%c$*%n"; + + # private message, $0 = nick, $1 = host + privmsg = "[%R$0%K(%r$1-%K)%n] "; + + # private message from you, $0 = "msg", $1 = target nick + ownprivmsg = "[%r$0%K(%R$1-%K)%n] "; + + # own private message in query + ownprivmsgnick = "{msgnick $*}"; + ownprivnick = "%_$*%n"; + + # private message in query + privmsgnick = "{msgnick %R$*%n}"; + + ## + ## Actions (/ME stuff) + ## + + # used internally by this theme + action_core = "%_ * $*%n"; + + # generic one that's used by most actions + action = "{action_core $*} "; + + # own action, both private/public + ownaction = "{action $*}"; + + # own action with target, both private/public + ownaction_target = "{action_core $0}%K:%c$1%n "; + + # private action sent by others + pvtaction = "%_ (*) $*%n "; + pvtaction_query = "{action $*}"; + + # public action sent by others + pubaction = "{action $*}"; + + + ## + ## other IRC events + ## + + # whois + whois = "%# $[8]0 : $1-"; + + # notices + ownnotice = "[%r$0%K(%R$1-%K)]%n "; + notice = "%K-%M$*%K-%n "; + pubnotice_channel = "%K:%m$*"; + pvtnotice_host = "%K(%m$*%K)"; + servernotice = "%g!$*%n "; + + # CTCPs + ownctcp = "[%r$0%K(%R$1-%K)] "; + ctcp = "%g$*%n"; + + # wallops + wallop = "%_$*%n: "; + wallop_nick = "%n$*"; + wallop_action = "%_ * $*%n "; + + # netsplits + netsplit = "%R$*%n"; + netjoin = "%C$*%n"; + + # /names list + names_prefix = ""; + names_nick = "[%_$0%_$1-] "; + names_nick_op = "{names_nick $*}"; + names_nick_halfop = "{names_nick $*}"; + names_nick_voice = "{names_nick $*}"; + names_users = "[%g$*%n]"; + names_channel = "%G$*%n"; + + # DCC + dcc = "%g$*%n"; + dccfile = "%_$*%_"; + + # DCC chat, own msg/action + dccownmsg = "[%r$0%K($1-%K)%n] "; + dccownnick = "%R$*%n"; + dccownquerynick = "%_$*%n"; + dccownaction = "{action $*}"; + dccownaction_target = "{action_core $0}%K:%c$1%n "; + + # DCC chat, others + dccmsg = "[%G$1-%K(%g$0%K)%n] "; + dccquerynick = "%G$*%n"; + dccaction = "%_ (*dcc*) $*%n %|"; + + ## + ## statusbar + ## + + # default background for all statusbars. You can also give + # the default foreground color for statusbar items. + sb_background = "%4%W"; + window_border = "%4%w"; + + # default backround for "default" statusbar group + #sb_default_bg = "%4"; + # background for prompt / input line + sb_prompt_bg = "%n"; + # background for info statusbar + sb_info_bg = "%8"; + # background for topicbar (same default) + #sb_topic_bg = "%4"; + + # text at the beginning of statusbars. "sb" already puts a space there, + # so we don't use anything by default. + sbstart = ""; + # text at the end of statusbars. Use space so that it's never + # used for anything. + sbend = " "; + + topicsbstart = "{sbstart $*}"; + topicsbend = "{sbend $*}"; + + prompt = "[$*] "; + + sb = " %c[%n$*%c]%n"; + sbmode = "(%c+%n$*)"; + sbaway = " (%GzZzZ%n)"; + sbservertag = ":$0 (change with ^X)"; + sbnickmode = "$0"; + + # activity in statusbar + + # ',' separator + sb_act_sep = "%c$*"; + # normal text + sb_act_text = "%c$*"; + # public message + sb_act_msg = "%W$*"; + # hilight + sb_act_hilight = "%M$*"; + # hilight with specified color, $0 = color, $1 = text + sb_act_hilight_color = "$0$1-%n"; +}; diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..ba8e8dd --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,143 @@ +# Prefix +unbind C-b +set -g prefix C-a +bind C-a send-prefix + +# vi mode +set-window-option -g mode-keys vi + +# Enable mouse +setw -g mouse on + +# fix esc problems in vim +set -s escape-time 0 + +# start numbering at 1 +set -g base-index 1 + +# resize based on smallest connected window, not session +setw -g aggressive-resize on + +# all the colors we can get +set-option -g default-terminal "tmux-256color" +set-option -ga terminal-overrides ",xterm*:Tc" + + +# theme is shamelessly copied from jimeh/tmux-themepack +# with only minor tweaks to work better with zenburn theme +# Basic theme +# + +# Themepack format options +set -goq @themepack-status-left-area-left-format "#S" +set -goq @themepack-status-left-area-middle-format "#I" +set -goq @themepack-status-left-area-right-format "#P" +set -goq @themepack-status-right-area-left-format "#H" +set -goq @themepack-status-right-area-middle-format "%H:%M:%S" +set -goq @themepack-status-right-area-right-format "%d-%b-%y" +set -goq @themepack-window-status-current-format "#I:#W#F" +set -goq @themepack-window-status-format "#I:#W#F" + +# Customizable prefixes and suffixes for @themepack-* format options +set -goq @themepack-status-left-area-left-prefix "" +set -goq @themepack-status-left-area-left-suffix "" +set -goq @themepack-status-left-area-middle-prefix "" +set -goq @themepack-status-left-area-middle-suffix "" +set -goq @themepack-status-left-area-right-prefix "" +set -goq @themepack-status-left-area-right-suffix "" +set -goq @themepack-status-right-area-left-prefix "" +set -goq @themepack-status-right-area-left-suffix "" +set -goq @themepack-status-right-area-middle-prefix "" +set -goq @themepack-status-right-area-middle-suffix "" +set -goq @themepack-status-right-area-right-prefix "" +set -goq @themepack-status-right-area-right-suffix "" +set -goq @themepack-window-status-current-prefix "" +set -goq @themepack-window-status-current-suffix "" +set -goq @themepack-window-status-prefix "" +set -goq @themepack-window-status-suffix "" + +# Apply prefixes and suffixes to @themepack-* format options +set -gqF @themepack-status-left-area-left-format "#{@themepack-status-left-area-left-prefix}#{@themepack-status-left-area-left-format}#{@themepack-status-left-area-left-suffix}" +set -gqF @themepack-status-left-area-middle-format "#{@themepack-status-left-area-middle-prefix}#{@themepack-status-left-area-middle-format}#{@themepack-status-left-area-middle-suffix}" +set -gqF @themepack-status-left-area-right-format "#{@themepack-status-left-area-right-prefix}#{@themepack-status-left-area-right-format}#{@themepack-status-left-area-right-suffix}" +set -gqF @themepack-status-right-area-left-format "#{@themepack-status-right-area-left-prefix}#{@themepack-status-right-area-left-format}#{@themepack-status-right-area-left-suffix}" +set -gqF @themepack-status-right-area-middle-format "#{@themepack-status-right-area-middle-prefix}#{@themepack-status-right-area-middle-format}#{@themepack-status-right-area-middle-suffix}" +set -gqF @themepack-status-right-area-right-format "#{@themepack-status-right-area-right-prefix}#{@themepack-status-right-area-right-format}#{@themepack-status-right-area-right-suffix}" +set -gqF @themepack-window-status-current-format "#{@themepack-window-status-current-prefix}#{@themepack-window-status-current-format}#{@themepack-window-status-current-suffix}" +set -gqF @themepack-window-status-format "#{@themepack-window-status-prefix}#{@themepack-window-status-format}#{@themepack-window-status-suffix}" + +# Theme options +set -goq @theme-clock-mode-colour red +set -goq @theme-clock-mode-style 24 +set -goq @theme-display-panes-active-colour default +set -goq @theme-display-panes-colour default +set -goq @theme-message-bg default +set -goq @theme-message-command-bg default +set -goq @theme-message-command-fg default +set -goq @theme-message-fg default +set -goq @theme-mode-bg red +set -goq @theme-mode-fg default +set -goq @theme-pane-active-border-bg default +set -goq @theme-pane-active-border-fg green +set -goq @theme-pane-border-bg default +set -goq @theme-pane-border-fg default +set -goq @theme-status-bg black +set -goq @theme-status-fg cyan +set -goq @theme-status-interval 1 +set -goq @theme-status-justify centre +set -goqF @theme-status-left "#{@themepack-status-left-area-left-format} #[fg=white]» #[fg=yellow]#{@themepack-status-left-area-middle-format} #[fg=cyan]#{@themepack-status-left-area-right-format}" +set -goq @theme-status-left-bg black +set -goq @theme-status-left-fg green +set -goq @theme-status-left-length 40 +set -goqF @theme-status-right "#{@themepack-status-right-area-left-format} #[fg=white]« #[fg=yellow]#{@themepack-status-right-area-middle-format} #[fg=green]#{@themepack-status-right-area-right-format}" +set -goq @theme-status-right-bg black +set -goq @theme-status-right-fg cyan +set -goq @theme-status-right-length 40 +set -goq @theme-window-status-activity-bg black +set -goq @theme-window-status-activity-fg yellow +set -goq @theme-window-status-current-bg green +set -goq @theme-window-status-current-fg black +set -goqF @theme-window-status-current-format " #{@themepack-window-status-current-format} " +set -goqF @theme-window-status-format " #{@themepack-window-status-format} " +set -goq @theme-window-status-separator "" + +# Customizable prefixes and suffixes for @theme-* format options +set -goq @theme-status-left-prefix "" +set -goq @theme-status-left-suffix "" +set -goq @theme-status-right-prefix "" +set -goq @theme-status-right-suffix "" +set -goq @theme-window-status-current-prefix "" +set -goq @theme-window-status-current-suffix "" +set -goq @theme-window-status-prefix "" +set -goq @theme-window-status-suffix "" + +# Apply prefixes and suffixes to @theme-* format options +set -gqF @theme-status-left "#{@theme-status-left-prefix}#{@theme-status-left}#{@theme-status-left-suffix}" +set -gqF @theme-status-right "#{@theme-status-right-prefix}#{@theme-status-right}#{@theme-status-right-suffix}" +set -gqF @theme-window-status-current-format "#{@theme-window-status-current-prefix}#{@theme-window-status-current-format}#{@theme-window-status-current-suffix}" +set -gqF @theme-window-status-format "#{@theme-window-status-prefix}#{@theme-window-status-format}#{@theme-window-status-suffix}" + +# Apply @theme-* options to Tmux +set -gF display-panes-active-colour "#{@theme-display-panes-active-colour}" +set -gF display-panes-colour "#{@theme-display-panes-colour}" +set -gF message-command-style "fg=#{@theme-message-command-fg},bg=#{@theme-message-command-bg}" +set -gF message-style "fg=#{@theme-message-fg},bg=#{@theme-message-bg}" +set -gF status-interval "#{@theme-status-interval}" +set -gF status-justify "#{@theme-status-justify}" +set -gF status-left "#{@theme-status-left}" +set -gF status-left-length "#{@theme-status-left-length}" +set -gF status-left-style "fg=#{@theme-status-left-fg},bg=#{@theme-status-left-bg}" +set -gF status-right "#{@theme-status-right}" +set -gF status-right-length "#{@theme-status-right-length}" +set -gF status-right-style "fg=#{@theme-status-right-fg},bg=#{@theme-status-right-bg}" +set -gF status-style "fg=#{@theme-status-fg},bg=#{@theme-status-bg}" +set -gwF clock-mode-colour "#{@theme-clock-mode-colour}" +set -gwF clock-mode-style "#{@theme-clock-mode-style}" +set -gwF mode-style "fg=#{@theme-mode-fg},bg=#{@theme-mode-bg}" +set -gwF pane-active-border-style "fg=#{@theme-pane-active-border-fg},bg=#{@theme-pane-active-border-bg}" +set -gwF pane-border-style "fg=#{@theme-pane-border-fg},bg=#{@theme-pane-border-bg}" +set -gwF window-status-activity-style "fg=#{@theme-window-status-activity-fg},bg=#{@theme-window-status-activity-bg}" +set -gwF window-status-current-format "#{@theme-window-status-current-format}" +set -gwF window-status-current-style "fg=#{@theme-window-status-current-fg},bg=#{@theme-window-status-current-bg}" +set -gwF window-status-format "#{@theme-window-status-format}" +set -gwF window-status-separator "#{@theme-window-status-separator}" diff --git a/.zprofile b/.zprofile new file mode 100644 index 0000000..0513566 --- /dev/null +++ b/.zprofile @@ -0,0 +1,14 @@ +export EDITOR="vi" +export VISUAL="nvim" + +# platform-specific config +unamestr=$(uname 2> /dev/null) +case "$unamestr" in +"Darwin") + export GPG_TTY=$(tty) + export PATH=$HOME/bin:/Library/TeX/texbin:/usr/local/bin:$PATH + export HOMEBREW_NO_GITHUB_API=1 + ;; +"Linux") + ;; +esac diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..d27a680 --- /dev/null +++ b/.zshrc @@ -0,0 +1,56 @@ +# Lines configured by zsh-newuser-install +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +setopt appendhistory +bindkey -e +# End of lines configured by zsh-newuser-install +# The following lines were added by compinstall +zstyle :compinstall filename '/home/gshipunov/.zshrc' + +autoload -Uz compinit +compinit +# End of lines added by compinstall + +# Prompt +if [[ -n $SSH_CONNECTION ]]; then + HOST_LBL="%F{green}[%m]%f" +fi + +PROMPT="%B%(?..%F{red}[%?]%f)$HOST_LBL%(!.%F{red}[%n]%f.)%F{cyan}%~%(!.%F{red}.%F{green})%# %f%b" + +#### Aliases +# add some color +alias grep="grep --color" +alias ls="ls --color=auto" +zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} + +# ls shorthand +alias ll="ls -h -l" +alias l="ls -h -l -A" +alias l.="ls -d .*" + +# easy edit +alias e=$VISUAL + +# platform-specific config +unamestr=$(uname 2> /dev/null) +case "$unamestr" in + "Darwin") + alias ls="ls -G" # macos ls is weird + alias o="open" + alias cpy="pbcopy" + alias pst="pbpaste" + # highlight syntax in zsh + ;; + "Linux") + alias o="xdg-open" + alias cpy="xclip -selection clipboard" + alias pst="xclip -selection clipboard -o" + + # use dircolors, if we have them + if [[ -f $HOME/.dir_colors ]]; then + eval $(dircolors -b $HOME/.dir_colors) + fi + ;; +esac diff --git a/config/flake8 b/config/flake8 new file mode 100644 index 0000000..9e06f65 --- /dev/null +++ b/config/flake8 @@ -0,0 +1,5 @@ +[flake8] +ignore = E221,E501,E203,E202,E272,E251,E211,E222,E701 +max-line-length = 160 +exclude = tests/* +max-complexity = 10 \ No newline at end of file diff --git a/config/git/.gitignore b/config/git/.gitignore new file mode 100644 index 0000000..d62e2d3 --- /dev/null +++ b/config/git/.gitignore @@ -0,0 +1,2 @@ +# gitk settings do not matter +gitk \ No newline at end of file diff --git a/config/git/config b/config/git/config new file mode 100644 index 0000000..5b6c23a --- /dev/null +++ b/config/git/config @@ -0,0 +1,15 @@ +[user] + name = Grigory Shipunov + email = blame@oxapentane.com + signingkey = 4C3CD96ED78251532AB5500AC688AC5B60F7A3A5 +[color] + ui = auto +[merege] + conflictstyle = diff3 +[commit] + gpgsign = true +[credential] + helper = cache --timeout 28800 +[alias] + lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit + diffw = diff --word-diff=color diff --git a/config/nvim/.gitignore b/config/nvim/.gitignore new file mode 100644 index 0000000..5b711e4 --- /dev/null +++ b/config/nvim/.gitignore @@ -0,0 +1,2 @@ +# neovim specific gitignore +.netrwhist diff --git a/config/nvim/init.vim b/config/nvim/init.vim new file mode 100644 index 0000000..926b601 --- /dev/null +++ b/config/nvim/init.vim @@ -0,0 +1,174 @@ +" bootstrap vim-plug automagically +if empty(glob('~/.local/share/nvim/site/autoload/plug.vim')) + silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs + \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim + autocmd VimEnter * PlugInstall --sync|source $MYVIMRC +endif + +call plug#begin('~/.local/share/nvim/plugged') + +" Colorschemes +Plug 'morhetz/gruvbox' + +" Nifty stuff +Plug 'scrooloose/nerdcommenter' +Plug 'tpope/vim-surround' +Plug 'jamessan/vim-gnupg' +Plug 'lambdalisue/suda.vim' +Plug 'junegunn/vim-easy-align' + +" Some config/whitespace automation +Plug 'dpc/vim-smarttabs' +Plug 'tpope/vim-sleuth' + +" Interface +Plug 'ntpeters/vim-better-whitespace' +Plug 'majutsushi/tagbar' +Plug 'Yggdroot/indentLine' +Plug 'kien/ctrlp.vim' +Plug 'junegunn/goyo.vim', {'on': 'Goyo'} +Plug 'mbbill/undotree', {'on': 'UndotreeToggle'} +Plug 'tpope/vim-vinegar' +Plug 'vim-airline/vim-airline' + +" Git +Plug 'tpope/vim-fugitive' +Plug 'airblade/vim-gitgutter' + +" Checking, linting, building etc. +Plug 'neomake/neomake' +Plug 'ycm-core/YouCompleteMe', {'for': ['python', 'c', 'cpp']} + +"Better syntax +Plug 'lervag/vimtex', {'for': 'tex'} +Plug 'vivien/vim-linux-coding-style' +Plug 'NLKNguyen/c-syntax.vim' +Plug 'hdima/python-syntax' +Plug 'rust-lang/rust.vim', {'for': 'rust'} +Plug 'dag/vim-fish', {'for': 'fish'} +Plug 'tpope/vim-markdown', {'for': 'markdown'} +Plug 'LnL7/vim-nix', {'for': 'nix'} +Plug 'chikamichi/mediawiki.vim' + +Plug 'vimwiki/vimwiki' + +call plug#end() + +"" TeX and co stuff +" disable TeX commands concealing +let g:tex_conceal = '' + +" space is our leader! +let mapleader = "\" +let maplocalleader = "\\" + +" theme +if $COLORTERM == 'truecolor' || $COLORTERM == '24bit' + set termguicolors +endif +" all my terminals can handle italic +set t_ZH= +set t_ZR= +let g:gruvbox_italic='1' "has to be before the colorscheme +let g:gruvbox_contrast_dark ='hard' +set background=dark +colorscheme gruvbox +let g:airline_theme="gruvbox" + +" airline +set noshowmode +let g:airline#extensions#tabline#enabled = 1 + +" set line numbering +set number + +" hidden is cool +set hidden + +" add 80th column hightlight +set colorcolumn=80 + +" use arrows for visual line navigation +imap gk +imap gj +nmap gk +nmap gj +vmap gk +vmap gj + +" Set place for backups +set nobackup + +" Swap for slacks +set noswapfile + +" Tagbar +nmap :TagbarToggle + +" autosmartident +set ai +set si + +" Expand tabs to spaces +set tabstop=4 +set shiftwidth=4 +set softtabstop=4 +set noexpandtab + +" show indentation +set list + +" Enlarge your Undo! +set history=999 +set undolevels=999 + +" Copying and pasting +" Copy to clipboard +vnoremap y "+y +nnoremap Y "+yg_ +nnoremap y "+y +nnoremap yy "+yy +" Paste from clipboard +nnoremap p "+p +nnoremap P "+P +vnoremap p "+p +vnoremap P "+P + +" Easier buffer switching +nnoremap b :CtrlPBuffer + +" Update more often +set updatetime=107 + +" Activate linux coding style helper only in certain dirs +let g:linuxsty_patterns = ["/usr/src", "/linux", "~/git/linux", "~/devel/linux"] + +" markdown +let g:markdown_syntax_conceal = 0 +let g:markdown_fenced_languages = ['html', 'python'] + +" disable modelines +set nomodeline + +" neomake on read and write +call neomake#configure#automake('rw') + +" easy align +nmap a (EasyAlign) +xmap a (EasyAlign) + +" change tab completion to more bash-like +set wildmode=longest:full,list:full + +" I cannot spell +set spelllang=en,ru,de +nnoremap :set spell! +inoremap :set spell! + +" Toggle UndoTree +nnoremap u :UndotreeToggle +" U is quite useless +nnoremap U :echo "NOPE!" + +" vimwiki +let g:vimwiki_list = [{'path': '~/nextcloud/vimwiki', 'syntax': 'markdown', 'ext': '.vwmd'}] diff --git a/config/pylintrc b/config/pylintrc new file mode 100644 index 0000000..b947a65 --- /dev/null +++ b/config/pylintrc @@ -0,0 +1,589 @@ +[MASTER] + +# A comma-separated list of package or module names from where C extensions may +# be loaded. Extensions are loading into the active Python interpreter and may +# run arbitrary code. +extension-pkg-whitelist= + +# Add files or directories to the blacklist. They should be base names, not +# paths. +ignore=CVS + +# Add files or directories matching the regex patterns to the blacklist. The +# regex matches against base names, not paths. +ignore-patterns= + +# Python code to execute, usually for sys.path manipulation such as +# pygtk.require(). +#init-hook= + +# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the +# number of processors available to use. +jobs=2 + +# Control the amount of potential inferred values when inferring a single +# object. This can help the performance when dealing with large functions or +# complex, nested conditions. +limit-inference-results=100 + +# List of plugins (as comma separated values of python module names) to load, +# usually to register additional checkers. +load-plugins= + +# Pickle collected data for later comparisons. +persistent=yes + +# Specify a configuration file. +#rcfile= + +# When enabled, pylint would attempt to guess common misconfiguration and emit +# user-friendly hints instead of false-positive error messages. +suggestion-mode=yes + +# Allow loading of arbitrary C extensions. Extensions are imported into the +# active Python interpreter and may run arbitrary code. +unsafe-load-any-extension=no + + +[MESSAGES CONTROL] + +# Only show warnings with the listed confidence levels. Leave empty to show +# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED. +confidence= + +# Disable the message, report, category or checker with the given id(s). You +# can either give multiple identifiers separated by comma (,) or put this +# option multiple times (only on the command line, not in the configuration +# file where it should appear only once). You can also use "--disable=all" to +# disable everything first and then reenable specific checks. For example, if +# you want to run only the similarities checker, you can use "--disable=all +# --enable=similarities". If you want to run only the classes checker, but have +# no Warning level messages displayed, use "--disable=all --enable=classes +# --disable=W". +disable=print-statement, + parameter-unpacking, + unpacking-in-except, + old-raise-syntax, + backtick, + long-suffix, + old-ne-operator, + old-octal-literal, + import-star-module-level, + non-ascii-bytes-literal, + raw-checker-failed, + bad-inline-option, + locally-disabled, + file-ignored, + suppressed-message, + useless-suppression, + deprecated-pragma, + use-symbolic-message-instead, + apply-builtin, + basestring-builtin, + buffer-builtin, + cmp-builtin, + coerce-builtin, + execfile-builtin, + file-builtin, + long-builtin, + raw_input-builtin, + reduce-builtin, + standarderror-builtin, + unicode-builtin, + xrange-builtin, + coerce-method, + delslice-method, + getslice-method, + setslice-method, + no-absolute-import, + old-division, + dict-iter-method, + dict-view-method, + next-method-called, + metaclass-assignment, + indexing-exception, + raising-string, + reload-builtin, + oct-method, + hex-method, + nonzero-method, + cmp-method, + input-builtin, + round-builtin, + intern-builtin, + unichr-builtin, + map-builtin-not-iterating, + zip-builtin-not-iterating, + range-builtin-not-iterating, + filter-builtin-not-iterating, + using-cmp-argument, + eq-without-hash, + div-method, + idiv-method, + rdiv-method, + exception-message-attribute, + invalid-str-codec, + sys-max-int, + bad-python3-import, + deprecated-string-function, + deprecated-str-translate-call, + deprecated-itertools-function, + deprecated-types-field, + next-method-defined, + dict-items-not-iterating, + dict-keys-not-iterating, + dict-values-not-iterating, + deprecated-operator-function, + deprecated-urllib-function, + xreadlines-attribute, + deprecated-sys-function, + exception-escape, + comprehension-escape, + invalid-name + +# Enable the message, report, category or checker with the given id(s). You can +# either give multiple identifier separated by comma (,) or put this option +# multiple time (only on the command line, not in the configuration file where +# it should appear only once). See also the "--disable" option for examples. +enable=c-extension-no-member + + +[REPORTS] + +# Python expression which should return a score less than or equal to 10. You +# have access to the variables 'error', 'warning', 'refactor', and 'convention' +# which contain the number of messages in each category, as well as 'statement' +# which is the total number of statements analyzed. This score is used by the +# global evaluation report (RP0004). +evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) + +# Template used to display messages. This is a python new-style format string +# used to format the message information. See doc for all details. +#msg-template= + +# Set the output format. Available formats are text, parseable, colorized, json +# and msvs (visual studio). You can also give a reporter class, e.g. +# mypackage.mymodule.MyReporterClass. +output-format=text + +# Tells whether to display a full report or only the messages. +reports=no + +# Activate the evaluation score. +score=yes + + +[REFACTORING] + +# Maximum number of nested blocks for function / method body +max-nested-blocks=5 + +# Complete name of functions that never returns. When checking for +# inconsistent-return-statements if a never returning function is called then +# it will be considered as an explicit return statement and no message will be +# printed. +never-returning-functions=sys.exit + + +[LOGGING] + +# Format style used to check logging format string. `old` means using % +# formatting, `new` is for `{}` formatting,and `fstr` is for f-strings. +logging-format-style=old + +# Logging modules to check that the string format arguments are in logging +# function parameter format. +logging-modules=logging + + +[FORMAT] + +# Expected format of line ending, e.g. empty (any line ending), LF or CRLF. +expected-line-ending-format= + +# Regexp for a line that is allowed to be longer than the limit. +ignore-long-lines=^\s*(# )??$ + +# Number of spaces of indent required inside a hanging or continued line. +indent-after-paren=4 + +# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 +# tab). +indent-string=' ' + +# Maximum number of characters on a single line. +max-line-length=100 + +# Maximum number of lines in a module. +max-module-lines=1000 + +# List of optional constructs for which whitespace checking is disabled. `dict- +# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}. +# `trailing-comma` allows a space between comma and closing bracket: (a, ). +# `empty-line` allows space-only lines. +no-space-check=trailing-comma, + dict-separator + +# Allow the body of a class to be on the same line as the declaration if body +# contains single statement. +single-line-class-stmt=no + +# Allow the body of an if to be on the same line as the test if there is no +# else. +single-line-if-stmt=no + + +[MISCELLANEOUS] + +# List of note tags to take in consideration, separated by a comma. +notes=FIXME, + XXX, + TODO + + +[BASIC] + +# Naming style matching correct argument names. +argument-naming-style=snake_case + +# Regular expression matching correct argument names. Overrides argument- +# naming-style. +#argument-rgx= + +# Naming style matching correct attribute names. +attr-naming-style=snake_case + +# Regular expression matching correct attribute names. Overrides attr-naming- +# style. +#attr-rgx= + +# Bad variable names which should always be refused, separated by a comma. +bad-names=foo, + bar, + baz, + toto, + tutu, + tata + +# Naming style matching correct class attribute names. +class-attribute-naming-style=any + +# Regular expression matching correct class attribute names. Overrides class- +# attribute-naming-style. +#class-attribute-rgx= + +# Naming style matching correct class names. +class-naming-style=PascalCase + +# Regular expression matching correct class names. Overrides class-naming- +# style. +#class-rgx= + +# Naming style matching correct constant names. +const-naming-style=UPPER_CASE + +# Regular expression matching correct constant names. Overrides const-naming- +# style. +#const-rgx= + +# Minimum line length for functions/classes that require docstrings, shorter +# ones are exempt. +docstring-min-length=-1 + +# Naming style matching correct function names. +function-naming-style=snake_case + +# Regular expression matching correct function names. Overrides function- +# naming-style. +#function-rgx= + +# Good variable names which should always be accepted, separated by a comma. +good-names=i, + j, + k, + ex, + Run, + _ + +# Include a hint for the correct naming format with invalid-name. +include-naming-hint=no + +# Naming style matching correct inline iteration names. +inlinevar-naming-style=any + +# Regular expression matching correct inline iteration names. Overrides +# inlinevar-naming-style. +#inlinevar-rgx= + +# Naming style matching correct method names. +method-naming-style=snake_case + +# Regular expression matching correct method names. Overrides method-naming- +# style. +#method-rgx= + +# Naming style matching correct module names. +module-naming-style=snake_case + +# Regular expression matching correct module names. Overrides module-naming- +# style. +#module-rgx= + +# Colon-delimited sets of names that determine each other's naming style when +# the name regexes allow several styles. +name-group= + +# Regular expression which should only match function or class names that do +# not require a docstring. +no-docstring-rgx=^_ + +# List of decorators that produce properties, such as abc.abstractproperty. Add +# to this list to register other decorators that produce valid properties. +# These decorators are taken in consideration only for invalid-name. +property-classes=abc.abstractproperty + +# Naming style matching correct variable names. +variable-naming-style=snake_case + +# Regular expression matching correct variable names. Overrides variable- +# naming-style. +#variable-rgx= + + +[SPELLING] + +# Limits count of emitted suggestions for spelling mistakes. +max-spelling-suggestions=4 + +# Spelling dictionary name. Available dictionaries: de_LI (myspell), en_PH +# (myspell), de_LU (myspell), ru_RU (myspell), de_DE (myspell), en_TT +# (myspell), de_BE (myspell), en_BZ (myspell), en_DK (myspell), en_JM +# (myspell), en_NZ (myspell), en_CA (myspell), en_GB (myspell), en_AU +# (myspell), en_HK (myspell), en_US (myspell), de_AT (myspell), en_ZM +# (myspell), en_SG (myspell), en_NA (myspell), en_IN (myspell), en_NG +# (myspell), en_AG (myspell), ru_UA (myspell), en_BW (myspell), en_ZA +# (myspell), en_MW (myspell), en_GH (myspell), en_BS (myspell), en_IE +# (myspell), de_CH (myspell), en_ZW (myspell). +spelling-dict= + +# List of comma separated words that should not be checked. +spelling-ignore-words= + +# A path to a file that contains the private dictionary; one word per line. +spelling-private-dict-file= + +# Tells whether to store unknown words to the private dictionary (see the +# --spelling-private-dict-file option) instead of raising a message. +spelling-store-unknown-words=no + + +[STRING] + +# This flag controls whether the implicit-str-concat-in-sequence should +# generate a warning on implicit string concatenation in sequences defined over +# several lines. +check-str-concat-over-line-jumps=no + + +[SIMILARITIES] + +# Ignore comments when computing similarities. +ignore-comments=yes + +# Ignore docstrings when computing similarities. +ignore-docstrings=yes + +# Ignore imports when computing similarities. +ignore-imports=no + +# Minimum lines number of a similarity. +min-similarity-lines=4 + + +[TYPECHECK] + +# List of decorators that produce context managers, such as +# contextlib.contextmanager. Add to this list to register other decorators that +# produce valid context managers. +contextmanager-decorators=contextlib.contextmanager + +# List of members which are set dynamically and missed by pylint inference +# system, and so shouldn't trigger E1101 when accessed. Python regular +# expressions are accepted. +generated-members= + +# Tells whether missing members accessed in mixin class should be ignored. A +# mixin class is detected if its name ends with "mixin" (case insensitive). +ignore-mixin-members=yes + +# Tells whether to warn about missing members when the owner of the attribute +# is inferred to be None. +ignore-none=yes + +# This flag controls whether pylint should warn about no-member and similar +# checks whenever an opaque object is returned when inferring. The inference +# can return multiple potential results while evaluating a Python object, but +# some branches might not be evaluated, which results in partial inference. In +# that case, it might be useful to still emit no-member and other checks for +# the rest of the inferred objects. +ignore-on-opaque-inference=yes + +# List of class names for which member attributes should not be checked (useful +# for classes with dynamically set attributes). This supports the use of +# qualified names. +ignored-classes=optparse.Values,thread._local,_thread._local + +# List of module names for which member attributes should not be checked +# (useful for modules/projects where namespaces are manipulated during runtime +# and thus existing member attributes cannot be deduced by static analysis). It +# supports qualified module names, as well as Unix pattern matching. +ignored-modules= + +# Show a hint with possible names when a member name was not found. The aspect +# of finding the hint is based on edit distance. +missing-member-hint=yes + +# The minimum edit distance a name should have in order to be considered a +# similar match for a missing member name. +missing-member-hint-distance=1 + +# The total number of similar names that should be taken in consideration when +# showing a hint for a missing member. +missing-member-max-choices=1 + +# List of decorators that change the signature of a decorated function. +signature-mutators= + + +[VARIABLES] + +# List of additional names supposed to be defined in builtins. Remember that +# you should avoid defining new builtins when possible. +additional-builtins= + +# Tells whether unused global variables should be treated as a violation. +allow-global-unused-variables=yes + +# List of strings which can identify a callback function by name. A callback +# name must start or end with one of those strings. +callbacks=cb_, + _cb + +# A regular expression matching the name of dummy variables (i.e. expected to +# not be used). +dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_ + +# Argument names that match this expression will be ignored. Default to name +# with leading underscore. +ignored-argument-names=_.*|^ignored_|^unused_ + +# Tells whether we should check for unused import in __init__ files. +init-import=no + +# List of qualified module names which can have objects that can redefine +# builtins. +redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io + + +[IMPORTS] + +# List of modules that can be imported at any level, not just the top level +# one. +allow-any-import-level= + +# Allow wildcard imports from modules that define __all__. +allow-wildcard-with-all=no + +# Analyse import fallback blocks. This can be used to support both Python 2 and +# 3 compatible code, which means that the block might have code that exists +# only in one or another interpreter, leading to false positives when analysed. +analyse-fallback-blocks=no + +# Deprecated modules which should not be used, separated by a comma. +deprecated-modules=optparse,tkinter.tix + +# Create a graph of external dependencies in the given file (report RP0402 must +# not be disabled). +ext-import-graph= + +# Create a graph of every (i.e. internal and external) dependencies in the +# given file (report RP0402 must not be disabled). +import-graph= + +# Create a graph of internal dependencies in the given file (report RP0402 must +# not be disabled). +int-import-graph= + +# Force import order to recognize a module as part of the standard +# compatibility libraries. +known-standard-library= + +# Force import order to recognize a module as part of a third party library. +known-third-party=enchant + +# Couples of modules and preferred modules, separated by a comma. +preferred-modules= + + +[CLASSES] + +# List of method names used to declare (i.e. assign) instance attributes. +defining-attr-methods=__init__, + __new__, + setUp, + __post_init__ + +# List of member names, which should be excluded from the protected access +# warning. +exclude-protected=_asdict, + _fields, + _replace, + _source, + _make + +# List of valid names for the first argument in a class method. +valid-classmethod-first-arg=cls + +# List of valid names for the first argument in a metaclass class method. +valid-metaclass-classmethod-first-arg=cls + + +[DESIGN] + +# Maximum number of arguments for function / method. +max-args=5 + +# Maximum number of attributes for a class (see R0902). +max-attributes=7 + +# Maximum number of boolean expressions in an if statement (see R0916). +max-bool-expr=5 + +# Maximum number of branch for function / method body. +max-branches=12 + +# Maximum number of locals for function / method body. +max-locals=15 + +# Maximum number of parents for a class (see R0901). +max-parents=7 + +# Maximum number of public methods for a class (see R0904). +max-public-methods=20 + +# Maximum number of return / yield for function / method body. +max-returns=6 + +# Maximum number of statements in function / method body. +max-statements=50 + +# Minimum number of public methods for a class (see R0903). +min-public-methods=2 + + +[EXCEPTIONS] + +# Exceptions that will emit a warning when being caught. Defaults to +# "BaseException, Exception". +overgeneral-exceptions=BaseException, + Exception