Init a global parser for 0x0
This commit is contained in:
parent
4f042e2c07
commit
026ec0f1aa
|
@ -0,0 +1,80 @@
|
|||
#!/bin/sh
|
||||
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
|
||||
|
||||
# This script will try to:
|
||||
## Get first argument
|
||||
## Or get clipboard content if no argument
|
||||
## Send this data to a file hosting service
|
||||
## Print the generate url that hosting the content to stdout
|
||||
## Or put it in the clipboard if no argument was given
|
||||
|
||||
# Vars [[[
|
||||
debug=true
|
||||
flag_clipboard=false
|
||||
flag_inline=false
|
||||
|
||||
null_service_url="https://null.101010.fr"
|
||||
|
||||
## Colors [[[
|
||||
c_redb='\033[1;31m'
|
||||
c_magentab='\033[1;35m'
|
||||
c_reset='\033[0m'
|
||||
## ]]]
|
||||
|
||||
# ]]]
|
||||
|
||||
# Functions
|
||||
# Function to print a debug message [[[
|
||||
debug_message() {
|
||||
_message="${1}"
|
||||
|
||||
[ "${debug}" = "true" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG ${_message}"
|
||||
}
|
||||
# ]]]
|
||||
|
||||
# Verify argument [[[
|
||||
case "$#" in
|
||||
0 )
|
||||
flag_clipboard=true
|
||||
debug_message "− Verify arg : No argument was given, try to use clipboard."
|
||||
;;
|
||||
1 )
|
||||
flag_inline=true
|
||||
debug_message "− Verify arg : One argument was given, use it."
|
||||
;;
|
||||
* )
|
||||
printf "${c_redb}%b${c_reset}\n" "Error : Expect one argument or a content in clipboard."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
# ]]]
|
||||
|
||||
# Get the content to be sended [[[
|
||||
# Try to get content from first argument
|
||||
if [ "${flag_inline}" = "true" ]; then
|
||||
content_to_send="${1}"
|
||||
fi
|
||||
# Try to get content from clipboard
|
||||
if [ "${flag_clipboard}" = "true" ]; then
|
||||
content_to_send=$(xclip -out -selection clipboard)
|
||||
fi
|
||||
|
||||
debug_message "− Get Content : content to be sended : ${content_to_send}"
|
||||
# ]]]
|
||||
|
||||
content_url=""
|
||||
|
||||
# Manage the result [[[
|
||||
## If the URL should simply be printed to stdout
|
||||
if [ "${flag_inline}" = "true" ]; then
|
||||
debug_message "− Manage result : Print the result on stdout :"
|
||||
printf "%b\n" "${content_url}"
|
||||
fi
|
||||
# If the URL should remplace the previous content of the clipboard
|
||||
if [ "${flag_clipboard}" = "true" ]; then
|
||||
debug_message "− Manage result : Put the result in clipboard."
|
||||
echo "${content_url}" | xclip -rmlastnl -selection clipboard
|
||||
fi
|
||||
# ]]]
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue