create super strict rust config

This commit is contained in:
Mona Mayrhofer 2026-02-27 21:30:42 +01:00
commit d56ebb7e16
WARNING! Although there is a key with this ID in the database it does not verify this commit! This commit is SUSPICIOUS.
GPG key ID: 374AB152BDEBA1AE
36 changed files with 2969 additions and 0 deletions

19
.direnv/bin/nix-direnv-reload Executable file
View file

@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -e
if [[ ! -d "/home/nionidh/projects/rust-tomfoolery/cursor-mover-app" ]]; then
echo "Cannot find source directory; Did you move it?"
echo "(Looking for "/home/nionidh/projects/rust-tomfoolery/cursor-mover-app")"
echo 'Cannot force reload with this script - use "direnv reload" manually and then try again'
exit 1
fi
# rebuild the cache forcefully
_nix_direnv_force_reload=1 direnv exec "/home/nionidh/projects/rust-tomfoolery/cursor-mover-app" true
# Update the mtime for .envrc.
# This will cause direnv to reload again - but without re-building.
touch "/home/nionidh/projects/rust-tomfoolery/cursor-mover-app/.envrc"
# Also update the timestamp of whatever profile_rc we have.
# This makes sure that we know we are up to date.
touch -r "/home/nionidh/projects/rust-tomfoolery/cursor-mover-app/.envrc" "/home/nionidh/projects/rust-tomfoolery/cursor-mover-app/.direnv"/*.rc

View file

@ -0,0 +1 @@
/nix/store/12rd2bk68yfdn66pzcnwkgcyxf28y2fq-source

View file

@ -0,0 +1 @@
/nix/store/41f1cpnv29cwhhf9y41a1q0757v8phl3-source

View file

@ -0,0 +1 @@
/nix/store/5wsbaidxzywizpm8ywrkl14qy125d566-source

View file

@ -0,0 +1 @@
/nix/store/anbs72p9zzvyk3a227k0zmas73l56gxl-source

View file

@ -0,0 +1 @@
/nix/store/bmvmvrckk4vz1kmr9prig8prmc09c9yq-source

View file

@ -0,0 +1 @@
/nix/store/bnswhsxlbaf17xfsacm6xbj23g7g9j5b-source

View file

@ -0,0 +1 @@
/nix/store/dj66bmh6cjl4pbw0aw50iiz631xdc4z9-source

View file

@ -0,0 +1 @@
/nix/store/dq57cg11cdy3rg7jwxh25c02jdi7mzq8-source

View file

@ -0,0 +1 @@
/nix/store/drfbazv2fh6qnlvk2imjkhbqs75r69pj-source

View file

@ -0,0 +1 @@
/nix/store/fhapivckp1hrf0cn2bsr8cv5f98c2skb-source

View file

@ -0,0 +1 @@
/nix/store/g5v3sgqy6a0fsmas7mnapc196flrplix-source

View file

@ -0,0 +1 @@
/nix/store/gs1d4570bffhpg2704yb26p49fzgg343-source

View file

@ -0,0 +1 @@
/nix/store/j1r5yym7jdsgyb40ykfwwrd7wyf2z2k7-source

View file

@ -0,0 +1 @@
/nix/store/j5qcw5x2dm0jlffwwymp6yav62l3pdqm-source

View file

@ -0,0 +1 @@
/nix/store/m0m72b7nj91pfyfbblzhi7k7c2cxpb6b-source

View file

@ -0,0 +1 @@
/nix/store/p4l9q189cgldga9f1051fhfllfzmk4c5-source

View file

@ -0,0 +1 @@
/nix/store/sy3ism981f9xcbcmdc7gbk0yz28w6yjz-source

View file

@ -0,0 +1 @@
/nix/store/vwwbg9chin0hq0snddfn0swzdi7frgia-source

View file

@ -0,0 +1 @@
/nix/store/w0x3nihmdb6cwdqh0i0h4fs95alvv770-source

View file

@ -0,0 +1 @@
/nix/store/x8ymj8dbvyzhj0vpgga2plzdgmar3bb0-source

View file

@ -0,0 +1 @@
/nix/store/m0ljcg0awk034sx2b8wf09ray36dgcqm-my-project-env

File diff suppressed because it is too large Load diff

17
.envrc Normal file
View file

@ -0,0 +1,17 @@
#!/usr/bin/env bash
if ! has nix_direnv_version || ! nix_direnv_version 3.1.0; then
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc" "sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM="
fi
export DEVENV_IN_DIRENV_SHELL=true
watch_file flake.nix
watch_file flake.lock
mkdir -p "$PWD/.devenv"
DEVENV_ROOT_FILE="$PWD/.devenv/root"
printf %s "$PWD" >"$DEVENV_ROOT_FILE"
if ! use flake . --override-input devenv-root "file+file://$DEVENV_ROOT_FILE"; then
echo "devenv could not be built. The devenv environment was not loaded. Make the necessary changes to devenv.nix and hit enter to try again." >&2
fi

7
.gitignore vendored Normal file
View file

@ -0,0 +1,7 @@
.devenv
.devenv
# Added by cargo
/target

59
Cargo.lock generated Normal file
View file

@ -0,0 +1,59 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "aho-corasick"
version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
dependencies = [
"memchr",
]
[[package]]
name = "memchr"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
[[package]]
name = "regex"
version = "1.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.4.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
[[package]]
name = "the-app"
version = "0.1.0"
dependencies = [
"regex",
"the-lib",
]
[[package]]
name = "the-lib"
version = "0.0.0"

21
Cargo.toml Normal file
View file

@ -0,0 +1,21 @@
[workspace]
members = [
"crates/the-app",
"crates/the-lib",
]
resolver = "2"
[workspace.dependencies]
the-lib = {path="crates/the-lib", version="0.0.0"}
[workspace.lints.clippy]
all = "warn"
correctness = "deny"
suspicious = "warn"
complexity = "warn"
perf = "warn"
style = "warn"
pedantic = "warn"
restriction = "allow"
cargo = "warn"
nursery = "warn"

216
clippy.toml Normal file
View file

@ -0,0 +1,216 @@
# https://doc.rust-lang.org/stable/clippy/lint_configuration.html
absolute-paths-allowed-crates = []
absolute-paths-max-segments = 2
accept-comment-above-attributes = true
accept-comment-above-statement = true
allow-comparison-to-zero = false
allow-dbg-in-tests = false
# allow-exact-repetitions = true
allow-expect-in-consts = true
allow-expect-in-tests = false
allow-indexing-slicing-in-tests = false
allow-mixed-uninlined-format-args = false
allow-one-hash-in-raw-strings = false
allow-panic-in-tests = false
allow-print-in-tests = false
allow-private-module-inception = false
allow-renamed-params-for = [
"core::convert::From",
"core::convert::TryFrom",
"core::fmt::Display",
"core::fmt::Debug",
"core::str::FromStr",
]
allow-unwrap-in-consts = true
allow-unwrap-in-tests = true
allow-useless-vec-in-tests = false
allowed-dotfiles = []
allowed-duplicate-crates = []
allowed-idents-below-min-chars = []
allowed-prefixes = ["to", "as", "into", "from", "try_into", "try_from"]
allowed-scripts = ["Latin"]
allowed-wildcard-imports = []
arithmetic-side-effects-allowed = []
arithmetic-side-effects-allowed-binary = []
arithmetic-side-effects-allowed-unary = []
array-size-threshold = 16384
avoid-breaking-exported-api = false
await-holding-invalid-types = []
cargo-ignore-publish = false
check-incompatible-msrv-in-tests = false
check-inconsistent-struct-field-initializers = true
check-private-items = false
cognitive-complexity-threshold = 25
disallowed-macros = []
disallowed-methods = [
{ path = "std::process::Command::new", reason = "use `toolchain::command` instead as it forces the choice of a working directory" },
]
# Things that do not work due to macros can be handled by typos.toml instead.
disallowed-names = [
"acc", # accumulator
"alloc", # allocate
"alt", # alternate
"args", # arguments
"attr", # attribute
"attrs", # attributes
"auth", # authentication
"btn", # button
"buf", # buffer
"char", # character
"col", # column
"ctrl", # control
"db", # database
"dbg", # debug
"decl", # declaration
"def", # definition
"dest", # destination
"dir", # directory
"dirs", # directories
"elem", # element
"err", # error
"expr", # expression
"func", # function
"ident", # identifier
"idx", # index
"it", # item, inlay_tooltip
"len", # length
"lex", # lexer
"lit", # literal
"loc", # location
"msg", # message
"not", # notification
"opts", # options
"params", # parameters
"prev", # previous
"req", # request
"res", # result
"resp", # response
"sel", # selection
"sema", # semantics
"sh", # shell
"sig", # sign
"src", # source
"stmt", # statement
"tmp", # temporary
"ty", # r#type
"var", # variable
"vars", # variables
]
disallowed-types = [
# { path = "std::collections::HashMap", reason = "use FxHashMap" },
]
doc-valid-idents = ["..", "QoS"]
enable-raw-pointer-heuristic-for-send = true
enforce-iter-loop-reborrow = false
enforced-import-renames = []
enum-variant-name-threshold = 0
enum-variant-size-threshold = 200
excessive-nesting-threshold = 10
future-size-threshold = 16384
ignore-interior-mutability = ["bytes::Bytes"]
large-error-threshold = 128
lint-commented-code = true
literal-representation-threshold = 128
matches-for-let-else = "AllTypes"
max-fn-params-bools = 2
max-include-file-size = 1000000
max-struct-bools = 3
max-suggested-slice-pattern-length = 9
max-trait-bounds = 1
min-ident-chars-threshold = 1
# missing-docs-allow-unused = false
missing-docs-in-crate-items = false
# module-item-order-groupings = []
module-items-ordered-within-groupings = "none"
# msrv = "current version"
pass-by-value-size-limit = 256
pub-underscore-fields-behavior = "PubliclyExported"
semicolon-inside-block-ignore-singleline = false
semicolon-outside-block-ignore-multiline = false
single-char-binding-names-threshold = 0
source-item-ordering = ["enum", "impl", "module", "struct", "trait"]
stack-size-threshold = 512000
standard-macro-braces = [
{ name = "always", brace = "(" },
{ name = "anyhow::anyhow", brace = "(" },
{ name = "anyhow::bail", brace = "(" },
{ name = "anyhow::format_err", brace = "(" },
{ name = "assert_eq", brace = "(" },
{ name = "assert", brace = "(" },
{ name = "ast_enum_compound", brace = "{" },
{ name = "ast_enum_raw", brace = "{" },
{ name = "ast_enum", brace = "{" },
{ name = "ast_node", brace = "{" },
{ name = "ast_token_enum", brace = "{" },
{ name = "cfg_if", brace = "{" },
{ name = "cfg", brace = "(" },
{ name = "concat", brace = "(" },
{ name = "count_tts", brace = "(" },
{ name = "dbg", brace = "(" },
{ name = "define_semantic_token_modifiers", brace = "[" },
{ name = "define_semantic_token_types", brace = "[" },
{ name = "env", brace = "(" },
{ name = "error", brace = "(" },
{ name = "expect", brace = "[" },
{ name = "format_args", brace = "(" },
{ name = "format_err", brace = "(" },
{ name = "format_smolstr", brace = "(" },
{ name = "format_to", brace = "(" },
{ name = "format", brace = "(" },
{ name = "impl_from", brace = "(" },
{ name = "implement", brace = "(" },
{ name = "include", brace = "(" },
{ name = "info_span", brace = "(" },
{ name = "info", brace = "(" },
{ name = "intern_id", brace = "(" },
{ name = "match_ast", brace = "{" },
{ name = "matches", brace = "(" },
{ name = "mod_items", brace = "{" },
{ name = "never", brace = "(" },
{ name = "opt", brace = "(" },
{ name = "panic", brace = "(" },
{ name = "print", brace = "(" },
{ name = "println", brace = "(" },
{ name = "prop_oneof", brace = "[" },
{ name = "proptest", brace = "{" },
{ name = "select", brace = "{" },
{ name = "smallvec::smallvec", brace = "[" },
{ name = "smallvec", brace = "[" },
{ name = "span", brace = "(" },
{ name = "stringify", brace = "(" },
{ name = "T", brace = "[" },
{ name = "thread_local", brace = "{" },
{ name = "todo", brace = "(" },
{ name = "trace", brace = "(" },
{ name = "tracing::debug", brace = "(" },
{ name = "tracing::enabled", brace = "(" },
{ name = "tracing::error", brace = "(" },
{ name = "tracing::info_span", brace = "(" },
{ name = "tracing::info", brace = "(" },
{ name = "tracing::trace", brace = "(" },
{ name = "tracing::warn", brace = "(" },
{ name = "try_default", brace = "(" },
{ name = "unimplemented", brace = "(" },
{ name = "unreachable", brace = "(" },
{ name = "vec", brace = "[" },
{ name = "warn", brace = "(" },
{ name = "write", brace = "(" },
{ name = "writeln", brace = "(" },
{ name = "xflags::xflags", brace = "{" },
{ name = "xflags", brace = "{" },
]
struct-field-name-threshold = 0
suppress-restriction-lint-in-const = false
too-large-for-stack = 200
too-many-arguments-threshold = 7
too-many-lines-threshold = 100
trait-assoc-item-kinds-order = ["const", "type", "fn"]
trivial-copy-size-limit = 128
type-complexity-threshold = 250
unnecessary-box-size = 128
unreadable-literal-lint-fractions = true
upper-case-acronyms-aggressive = true
vec-box-size-threshold = 4096
verbose-bit-mask-threshold = 1
warn-on-all-wildcard-imports = false
warn-unsafe-macro-metavars-in-private-macros = false

12
crates/the-app/Cargo.toml Normal file
View file

@ -0,0 +1,12 @@
[package]
name = "the-app"
version = "0.1.0"
edition = "2024"
license = "EUPL-1.2"
[dependencies]
the-lib.workspace = true
regex = "*"
[lints]
workspace = true

View file

@ -0,0 +1,19 @@
#[must_use]
pub fn as_u64(number: u8) -> u64 {
u64::from(number)
}
fn main() {
let mut nums = vec![1, 2, 3];
nums.clear();
println!("Hello, world! {nums:?}");
}
#[cfg(test)]
mod test {
#[test]
fn trivial() {
assert_eq!(1, 1);
}
}

10
crates/the-lib/Cargo.toml Normal file
View file

@ -0,0 +1,10 @@
[package]
name = "the-lib"
version = "0.0.0"
edition = "2024"
license = "EUPL-1.2"
[dependencies]
[lints]
workspace = true

18
crates/the-lib/src/lib.rs Normal file
View file

@ -0,0 +1,18 @@
#[must_use]
pub const fn add(
left: u64,
right: u64,
) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}

49
deny.toml Normal file
View file

@ -0,0 +1,49 @@
[graph]
# We don't expect to run on different architectures than the normal tier-1 targets
targets = [
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
"x86_64-unknown-linux-musl",
"aarch64-apple-darwin",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc",
]
all-features = true
[advisories]
ignore = []
[licenses]
version = 2
allow = [
"EUPL-1.2",
#"0BSD",
#"Apache-2.0 WITH LLVM-exception",
#"Apache-2.0",
# "BSD-2-Clause",
#"BSD-3-Clause",
#"BSL-1.0",
#"CC0-1.0",
#"ISC",
# "MIT-0",
"MIT",
#"MPL-2.0",
#"Unicode-3.0",
"Unlicense",
#"Zlib",
]
exceptions = [
# { name = "unicode-ident", allow = ["Unicode-DFS-2016"] }
]
[bans]
multiple-versions = "warn"
wildcards = "deny"
# Certain crates that we do not want multiple versions of in the dependency tree
deny = []
[sources]
unknown-registry = "warn"
unknown-git = "warn"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []

100
flake.nix Normal file
View file

@ -0,0 +1,100 @@
{
description = "Description for the project";
inputs = {
devenv-root = {
url = "file+file:///dev/null";
flake = false;
};
nixpkgs.url = "github:cachix/devenv-nixpkgs/rolling";
flake-parts.url = "github:hercules-ci/flake-parts";
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
devenv.url = "github:cachix/devenv";
nix2container.url = "github:nlewo/nix2container";
nix2container.inputs.nixpkgs.follows = "nixpkgs";
mk-shell-bin.url = "github:rrbutani/nix-mk-shell-bin";
fenix.url = "github:nix-community/fenix/monthly";
fenix.inputs.nixpkgs.follows = "nixpkgs";
};
nixConfig = {
extra-trusted-public-keys = [
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
extra-substituters = [
"https://devenv.cachix.org"
"https://nix-community.cachix.org"
];
};
outputs =
inputs@{ flake-parts, devenv-root, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
inputs.devenv.flakeModule
];
systems = [
"x86_64-linux"
"i686-linux"
"x86_64-darwin"
"aarch64-linux"
"aarch64-darwin"
];
perSystem =
{
config,
self',
inputs',
pkgs,
system,
...
}:
{
devenv.shells.default =
let
fnx = inputs'.fenix.packages;
rustToolchain = fnx.beta.toolchain;
# rustToolchain = fnx.combine [
# fnx.complete.cargo
# fnx.complete.clippy
# fnx.complete.rust-src
# fnx.complete.rustc
# fnx.complete.rustfmt
# ];
in
{
name = "my-project";
packages = [
pkgs.dioxus-cli
pkgs.cargo-expand
pkgs.cargo-deny
pkgs.cargo-nextest
pkgs.typos
rustToolchain
fnx.rust-analyzer
];
scripts.checkall.exec = ''
set -xeuo pipefail
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo deny check all -D warnings
cargo fmt --all -- --check
cargo nextest run --workspace --all-targets --all-features --status-level all
cargo test
'';
# DO NOT ENABLE RUST because devenv messes up the ability
# to build rust-src
# languages.rust = {};
};
};
flake = { };
};
}

76
rustfmt.toml Normal file
View file

@ -0,0 +1,76 @@
array_width = 60
attr_fn_like_width = 70
# binop_separator = "Front"
# blank_lines_lower_bound = 0
# blank_lines_upper_bound = 1
# brace_style = "SameLineWhere"
chain_width = 60
# color = "Auto"
# combine_control_expr = true
# comment_width = 80
# condense_wildcard_suffixes = false
# control_brace_style = "AlwaysSameLine"
disable_all_formatting = false
edition = "2024"
# empty_item_single_line = true
# enum_discrim_align_threshold = 0
# error_on_line_overflow = false
# error_on_unformatted = false
fn_call_width = 60
fn_params_layout = "Vertical"
# fn_single_line = false
force_explicit_abi = true
# force_multiline_blocks = false
# format_code_in_doc_comments = false
# doc_comment_code_block_width = 100
# format_generated_files = true
# generated_marker_line_search_limit = 5
# format_macro_matchers = true
# format_macro_bodies = true
# skip_macro_invocations = []
# format_strings = false
hard_tabs = false
# hex_literal_case = "Lower"
# show_parse_errors = true
# ignore = []
# imports_indent = "Block"
# imports_layout = "Vertical"
# indent_style = "Block"
# inline_attribute_width = 0
# match_arm_blocks = true
match_arm_leading_pipes = "Never"
match_block_trailing_comma = true
max_width = 100
merge_derives = true
# imports_granularity = "Crate"
newline_style = "Unix"
# normalize_comments = false
# normalize_doc_attributes = false
# overflow_delimited_expr = false
remove_nested_parens = true
# reorder_impl_items = true
# reorder_imports = true
# group_imports = "StdExternalCrate"
reorder_modules = true
# required_version = "1.8.0"
short_array_element_width_threshold = 10
single_line_if_else_max_width = 50
single_line_let_else_max_width = 50
# space_after_colon = true
# space_before_colon = false
# spaces_around_ranges = false
# struct_field_align_threshold = 0
# struct_lit_single_line = true
struct_lit_width = 18
struct_variant_width = 35
# style_edition = "2024"
tab_spaces = 4
# trailing_comma = "Vertical"
# trailing_semicolon = true
# type_punctuation_density = "Wide"
# unstable_features = true
use_field_init_shorthand = true
use_small_heuristics = "Default"
use_try_shorthand = true
# where_single_line = false
# wrap_comments = false

102
typos.toml Normal file
View file

@ -0,0 +1,102 @@
[files]
extend-exclude = [
"*.patch", # Automatically generated files that should not be manually modified.
"*.bin", # Binary files
".git/", # Version control files
"clippy.toml", # Intentional typos
"flake.nix", # Out of scope
]
ignore-hidden = false
# Corrections take the form of a key/value pair. The key is the incorrect word
# and the value is the correct word. If the key and value are the same, the
# word is treated as always correct. If the value is an empty string, the word
# is treated as always incorrect.
[default]
locale = "en-us"
extend-ignore-re = [
"(?Rm)^.*(#|//)\\s*spellchecker:disable-line$",
"(?Rm)^.*<!--\\s*spellchecker:disable-line\\s*-->$",
"(?Rm) .+ ...\"$",
]
extend-ignore-identifiers-re = []
# Match Whole Word - Case Sensitive
[default.extend-identifiers]
"err" = "error"
"idx" = "index"
# Match Inside a Word - Case Insensitive
[default.extend-words]
"jod" = "jod"
"anser" = "anser"
# lsp_types
"typ" = "typ"
# "perf" = "performance"
# Contractions
"don't" = "do not"
"can't" = "cannot"
"isn't" = "is not"
"wouldn't" = "would not"
"aren't" = "are not"
"couldn't" = "could not"
"shouldn't" = "should not"
"won't" = "will not"
"haven't" = "have not"
"hasn't" = "has not"
"hadn't" = "had not"
"doesn't" = "does not"
"didn't" = "did not"
"mustn't" = "must not"
"mightn't" = "might not"
"shan't" = "shall not"
"weren't" = "were not"
"wasn't" = "was not"
"needn't" = "need not"
"let's" = "let us"
"there's" = "there is"
"who's" = "who is"
"what's" = "what is"
"where's" = "where is"
"when's" = "when is"
"why's" = "why is"
"how's" = "how is"
# "params" = "parameters"
# "req" = "request"
"res" = "result"
# "args" = "arguments"
"sig" = "signature"
# handled by clippy due to std using the abbreviation
# "dir" = "directory"
# "dirs" = "directories" # Used by dependencies
"resp" = "response"
"msg" = "message"
"nav" = "navigation"
# "dbg" = "debug"
# "ctrl" = "control"
"decl" = "declaration"
"btn" = "button"
"elem" = "element"
# "attr" = "attribute"
# "src" = "source"
"dest" = "destination"
"tmp" = "temporary"
"auth" = "authentication"
"stmt" = "statement"
# "alloc" = "allocate"
# "expr" = "expression"
"prev" = "previous"
"sel" = "selection"
# "col" = "column"
# "lit" = "literal"
# "ident" = "identifier"
# "ty" = "type"
# Be concise
":-)" = "be concise"
";-)" = "be concise"
"is going on" = "happens"
"take a look at" = "examine"
# "argument" = "input"
# "response" = "answer"