{ ... }: {
	text = ''
		# Create/attach to named session.
		# By default uses current dir name.
		# Usage: ta [NAME]
		function ta() {
			local name="''${1}"

			# Set default name.
			# [[ "''${name}" = "" ]] && name="main"
			[[ "''${name}" = "" ]] && name=$(parse_alnum "''${PWD##*/}")

			# Create session.
			tmux new-session -s "''${name}" -d &> /dev/null

			# Attach to session.
			if _is_tmux; then
				tmux switch-client -t "''${name}"
			else
				tmux attach-session -t "''${name}"
			fi
		}

		# Detach from running session.
		function td() {
			tmux detach-client
		}

		# Detach all other tmux clients.
		function tda() {
			tmux detach-client -s $(tmux display-message -p '#S')
		}

		# List running sessions.
		function tl() {
			tmux list-sessions
		}

		# Assign name to session. Uses current dir name by default.
		# Usage: tns [NAME]
		function tns() {
			local name="''${1}"

			[[ "''${name}" = "" ]] && name=$(parse_alnum "''${PWD##*/}")

			tmux rename-session "''${name}"
		}

		# Assign name to window. Uses current dir name by default.
		# Usage: tnw [NAME]
		function tnw() {
			local name="''${1}"

			[[ "''${name}" = "" ]] && name=$(parse_alnum "''${PWD##*/}")

			tmux rename-window "''${name}"
		}

		# Kill specified session.
		# By default uses current dir name.
		# Usage: tk [NAME]
		function tk() {
			local name="''${1}"

			[[ "''${name}" = "" ]] && name=$(parse_alnum "''${PWD##*/}")

			tmux kill-session -t "''${name}"
		}

		# Kill all sessions.
		function tka() {
			local sessions=$(tmux list-sessions | sed -e 's/:.*//')

			for session in $sessions; do
				tmux kill-session -t "$session"
			done
		}

		# Autocomplete with running sessions once.
		function _complete_tmux_session() {
			_autocomplete_first "$(tmux list-sessions 2> /dev/null | sed -e 's/:.*//')"
		}

		# Autocomplete with running sessions.
		function _complete_tmux_sessions() {
			_autocomplete "$(tmux list-sessions 2> /dev/null | sed -e 's/:.*//')"
		}

		# Autocomplete with current dir name and dirs inside this one.
		function _complete_tmux_name() {
			_autocomplete_first "''${PWD##*/}"$'\n'$(ls --classify | grep /$ | sed -e 's/\/$//')
		}

		complete -F _complete_tmux_session ta
		complete -F _complete_tmux_sessions tk
		complete -o nosort -F _complete_tmux_name tns tnw
	'';
}