forked from bonsai/harakit
		
	
		
			
				
	
	
		
			119 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" Copyright (c) 2023–2024 DTB <trinity@trinity.moe>
 | ||
| .\" Copyright (c) 2023 Emma Tebibyte <emma@tebibyte.media>
 | ||
| .\"
 | ||
| .\" This work is licensed under CC BY-SA 4.0. To see a copy of this license,
 | ||
| .\" visit <http://creativecommons.org/licenses/by-sa/4.0/>.
 | ||
| 
 | ||
| .TH STRIS 1
 | ||
| 
 | ||
| .SH NAME
 | ||
| 
 | ||
| stris \(en test the character types of string arguments
 | ||
| 
 | ||
| .SH SYNOPSIS
 | ||
| 
 | ||
| stris
 | ||
| .RB ( -7bcdlu )
 | ||
| .RB ( -i [ inclusions ])
 | ||
| .RB [ strings... ]
 | ||
| 
 | ||
| .SH DESCRIPTION
 | ||
| 
 | ||
| Stris tests each rune in an arbitrary quantity of string arguments, ensuring
 | ||
| each meets any of the parameters specified in the program options.
 | ||
| 
 | ||
| .SH OPTIONS
 | ||
| 
 | ||
| .B -7
 | ||
| .RS
 | ||
| Tests to see if runes are fit within seven bits; that is, that they are encoded
 | ||
| with ASCII.
 | ||
| .RE
 | ||
| 
 | ||
| .B -b
 | ||
| .RS
 | ||
| Tests to see if runes are blank or "whitespace"; characters that do not print
 | ||
| but fill a predictable amount of space.
 | ||
| .RE
 | ||
| 
 | ||
| .B -c
 | ||
| .RS
 | ||
| Tests to see if runes are control characters; characters that are not printing
 | ||
| or graphical.
 | ||
| .RE
 | ||
| 
 | ||
| .B -d
 | ||
| .RS
 | ||
| Tests to see if runes are numeric. This test does not only allow the ASCII
 | ||
| digits but any numeric symbol.
 | ||
| .RE
 | ||
| 
 | ||
| .B -i
 | ||
| .RS
 | ||
| Permits, in addition to the given specified parameters, all of the runes
 | ||
| supplied in its option argument.
 | ||
| .RE
 | ||
| 
 | ||
| .B -l
 | ||
| .RS
 | ||
| Tests to see if runes are in their lower case.
 | ||
| .RE
 | ||
| 
 | ||
| .B -u
 | ||
| .RS
 | ||
| Tests to see if runes are in their upper case, or capitalized.
 | ||
| .RE
 | ||
| 
 | ||
| .SH DIAGNOSTICS
 | ||
| 
 | ||
| Stris exits successfully if all runes in all given strings meet any of the
 | ||
| specified parameters, or if no parameters were specified but all given strings
 | ||
| were legibly encoded. It exits unsuccessfully if the previous is untrue, and if
 | ||
| invalid options were given, or if no strings were given, a usage synopsis will
 | ||
| be printed to the standard error.
 | ||
| 
 | ||
| .SH BUGS
 | ||
| 
 | ||
| There's no way of knowing which argument failed the test without re-testing
 | ||
| arguments individually.
 | ||
| 
 | ||
| Some runes that can losslessly be encoded into ASCII from UTF-8 but in an
 | ||
| "overlong encoding", where the rune was encoded with unnecessary leading
 | ||
| zeroes causing it to span multiple bytes, won't be detected as ASCII.
 | ||
| 
 | ||
| .SH EXAMPLES
 | ||
| 
 | ||
| This is an sh(1p) snippet that checks to see if an environment variable is an
 | ||
| ASCII digit.
 | ||
| 
 | ||
| .RS
 | ||
| .R stris -7 "$v" && stris -d "$v" && echo ASCII digit.
 | ||
| .RE
 | ||
| 
 | ||
| This is an sh(1p) snippet that checks to see if an environment variable is a
 | ||
| hexadecimal number.
 | ||
| 
 | ||
| .RS
 | ||
| .R stris -7 "$v" && stris -di ABCDEFabcdef "$v" && echo Hexadecimal number.
 | ||
| .RE
 | ||
| 
 | ||
| .SH AUTHOR
 | ||
| 
 | ||
| Written by DTB <trinity@trinity.moe>.
 | ||
| 
 | ||
| .SH HISTORY
 | ||
| 
 | ||
| Stris replaces the former str(1) which took the name of a function from
 | ||
| ctype(3) as its first argument and checked the following strings against it;
 | ||
| str(1) exited unsuccessfully when it encountered any non-ASCII runes and could
 | ||
| only have one parameter specified.
 | ||
| 
 | ||
| .SH COPYRIGHT
 | ||
| 
 | ||
| Copyright © 2023–2024 DTB. License AGPLv3+: GNU AGPL version 3 or later
 | ||
| <https://gnu.org/licenses/gpl.html>.
 | ||
| 
 | ||
| .SH SEE ALSO
 | ||
| 
 | ||
| ascii(7), ctype(3p), strcmp(1)
 |