summaryrefslogtreecommitdiff
path: root/fedora/.config/bash/completions/rg.bash
diff options
context:
space:
mode:
Diffstat (limited to 'fedora/.config/bash/completions/rg.bash')
-rw-r--r--fedora/.config/bash/completions/rg.bash783
1 files changed, 783 insertions, 0 deletions
diff --git a/fedora/.config/bash/completions/rg.bash b/fedora/.config/bash/completions/rg.bash
new file mode 100644
index 0000000..12d1039
--- /dev/null
+++ b/fedora/.config/bash/completions/rg.bash
@@ -0,0 +1,783 @@
+_rg() {
+ local i cur prev opts cmds
+ COMPREPLY=()
+ cur="${COMP_WORDS[COMP_CWORD]}"
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
+ cmd=""
+ opts=""
+
+ for i in ${COMP_WORDS[@]}; do
+ case "${i}" in
+ rg)
+ cmd="rg"
+ ;;
+ *)
+ ;;
+ esac
+ done
+
+ case "${cmd}" in
+ rg)
+ opts="--regexp -e --file -f --after-context -A --before-context -B --binary --no-binary --block-buffered --no-block-buffered --byte-offset -b --no-byte-offset --case-sensitive -s --color --colors --column --no-column --context -C --context-separator --no-context-separator --count -c --count-matches --crlf --no-crlf --debug --dfa-size-limit --encoding -E --no-encoding --engine --field-context-separator --field-match-separator --files --files-with-matches -l --files-without-match --fixed-strings -F --no-fixed-strings --follow -L --no-follow --generate --glob -g --glob-case-insensitive --no-glob-case-insensitive --heading --no-heading --help -h --hidden -. --no-hidden --hostname-bin --hyperlink-format --iglob --ignore-case -i --ignore-file --ignore-file-case-insensitive --no-ignore-file-case-insensitive --include-zero --no-include-zero --invert-match -v --no-invert-match --json --no-json --line-buffered --no-line-buffered --line-number -n --no-line-number -N --line-regexp -x --max-columns -M --max-columns-preview --no-max-columns-preview --max-count -m --max-depth -d --max-filesize --mmap --no-mmap --multiline -U --no-multiline --multiline-dotall --no-multiline-dotall --no-config --no-ignore --ignore --no-ignore-dot --ignore-dot --no-ignore-exclude --ignore-exclude --no-ignore-files --ignore-files --no-ignore-global --ignore-global --no-ignore-messages --ignore-messages --no-ignore-parent --ignore-parent --no-ignore-vcs --ignore-vcs --no-messages --messages --no-require-git --require-git --no-unicode --unicode --null -0 --null-data --one-file-system --no-one-file-system --only-matching -o --path-separator --passthru --pcre2 -P --no-pcre2 --pcre2-version --pre --no-pre --pre-glob --pretty -p --quiet -q --regex-size-limit --replace -r --search-zip -z --no-search-zip --smart-case -S --sort --sortr --stats --no-stats --stop-on-nonmatch --text -a --no-text --threads -j --trace --trim --no-trim --type -t --type-not -T --type-add --type-clear --type-list --unrestricted -u --version -V --vimgrep --with-filename -H --no-filename -I --word-regexp -w --auto-hybrid-regex --no-auto-hybrid-regex --no-pcre2-unicode --pcre2-unicode --sort-files --no-sort-files <PATTERN> <PATH>..."
+ if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
+ COMPREPLY=($(compgen -W "${opts}" -- "${cur}"))
+ return 0
+ fi
+ case "${prev}" in
+
+ --regexp)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -e)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --file)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -f)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --after-context)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -A)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --before-context)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -B)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --binary)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-binary)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --block-buffered)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-block-buffered)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --byte-offset)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -b)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-byte-offset)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --case-sensitive)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -s)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --color)
+ COMPREPLY=($(compgen -W "never auto always ansi" -- "${cur}"))
+ return 0
+ ;;
+ --colors)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --column)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-column)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --context)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -C)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --context-separator)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-context-separator)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --count)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -c)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --count-matches)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --crlf)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-crlf)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --debug)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --dfa-size-limit)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --encoding)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -E)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-encoding)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --engine)
+ COMPREPLY=($(compgen -W "default pcre2 auto" -- "${cur}"))
+ return 0
+ ;;
+ --field-context-separator)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --field-match-separator)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --files)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --files-with-matches)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -l)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --files-without-match)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --fixed-strings)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -F)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-fixed-strings)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --follow)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -L)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-follow)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --generate)
+ COMPREPLY=($(compgen -W "man complete-bash complete-zsh complete-fish complete-powershell" -- "${cur}"))
+ return 0
+ ;;
+ --glob)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -g)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --glob-case-insensitive)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-glob-case-insensitive)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --heading)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-heading)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --help)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -h)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --hidden)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -.)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-hidden)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --hostname-bin)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --hyperlink-format)
+ COMPREPLY=($(compgen -W "default none cursor file grep+ kitty macvim textmate vscode vscode-insiders vscodium" -- "${cur}"))
+ return 0
+ ;;
+ --iglob)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-case)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -i)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-file)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-file-case-insensitive)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-file-case-insensitive)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --include-zero)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-include-zero)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --invert-match)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -v)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-invert-match)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --json)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-json)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --line-buffered)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-line-buffered)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --line-number)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -n)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-line-number)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -N)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --line-regexp)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -x)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --max-columns)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -M)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --max-columns-preview)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-max-columns-preview)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --max-count)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -m)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --max-depth)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -d)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --max-filesize)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --mmap)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-mmap)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --multiline)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -U)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-multiline)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --multiline-dotall)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-multiline-dotall)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-config)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-dot)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-dot)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-exclude)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-exclude)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-files)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-files)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-global)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-global)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-messages)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-messages)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-parent)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-parent)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-ignore-vcs)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --ignore-vcs)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-messages)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --messages)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-require-git)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --require-git)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-unicode)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --unicode)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --null)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -0)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --null-data)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --one-file-system)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-one-file-system)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --only-matching)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -o)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --path-separator)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --passthru)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --pcre2)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -P)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-pcre2)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --pcre2-version)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --pre)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-pre)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --pre-glob)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --pretty)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -p)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --quiet)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -q)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --regex-size-limit)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --replace)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -r)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --search-zip)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -z)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-search-zip)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --smart-case)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -S)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --sort)
+ COMPREPLY=($(compgen -W "none path modified accessed created" -- "${cur}"))
+ return 0
+ ;;
+ --sortr)
+ COMPREPLY=($(compgen -W "none path modified accessed created" -- "${cur}"))
+ return 0
+ ;;
+ --stats)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-stats)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --stop-on-nonmatch)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --text)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -a)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-text)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --threads)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -j)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --trace)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --trim)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-trim)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --type)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -t)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --type-not)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -T)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --type-add)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --type-clear)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --type-list)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --unrestricted)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -u)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --version)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -V)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --vimgrep)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --with-filename)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -H)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-filename)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -I)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --word-regexp)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ -w)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --auto-hybrid-regex)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-auto-hybrid-regex)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-pcre2-unicode)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --pcre2-unicode)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --sort-files)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ --no-sort-files)
+ COMPREPLY=($(compgen -f "${cur}"))
+ return 0
+ ;;
+ esac
+ COMPREPLY=($(compgen -W "${opts}" -- "${cur}"))
+ return 0
+ ;;
+ esac
+}
+
+complete -F _rg -o bashdefault -o default rg