;;; Gash -- Guile As SHell
;;;
;;; This file is part of Gash.
;;;
;;; Gash is free software: you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation, either version 3 of the License, or
;;; (at your option) any later version.
;;;
;;; Gash is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with Gash.  If not, see <http://www.gnu.org/licenses/>.


* alnum
:script:
#+begin_src sh
  case "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" in
      [[:alnum:]]*) echo alnum;
  esac
#+end_src
:stdout:
#+begin_example
  alnum
#+end_example

* alpha
:script:
#+begin_src sh
  case "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" in
      [[:alpha:]]*) echo alpha;
  esac
#+end_src
:stdout:
#+begin_example
  alpha
#+end_example

* blank
:script:
#+begin_src sh
  case "	 " in
      [[:blank:]]*) echo blank;
  esac
#+end_src
:stdout:
#+begin_example
  blank
#+end_example

* digit
:script:
#+begin_src sh
  case "0123456789" in
      [[:digit:]]*) echo digit;
  esac
#+end_src
:stdout:
#+begin_example
  digit
#+end_example

* lower
:script:
#+begin_src sh
  case "abcdefghijklmnopqrstuvwxyz" in
      [[:lower:]]*) echo lower;
  esac
#+end_src
:stdout:
#+begin_example
  lower
#+end_example

* space
:script:
#+begin_src sh
  case "	
 " in
      [[:space:]]*) echo space;
  esac
#+end_src
:stdout:
#+begin_example
  space
#+end_example


* upper
:script:
#+begin_src sh
  case "ABCDEFGHIJKLMNOPQRSTUVWXYZ" in
      [[:upper:]]*) echo upper;
  esac
#+end_src
:stdout:
#+begin_example
  upper
#+end_example

* xdigit
:script:
#+begin_src sh
  case "0123456789ABCDEFabcdef" in
      [[:xdigit:]]*) echo xdigit;
  esac
#+end_src
:stdout:
#+begin_example
  xdigit
#+end_example
* non ascii
:script:
#+begin_src sh
  case "áçèñöșßłж" in
      [[:lower:]]*) echo non-ascii;
  esac
#+end_src
:stdout:
#+begin_example
  non-ascii
#+end_example
