/'* \file fb-doc.bi
\brief Header for the main source file

This file contains \#DEFINEs for the user communication at the 
command prompt and adjusts some operation system specific settings. 
It also includes the headers for the modules.

'/

/'* \brief The help message for the command line interface (option \em --help) '/
#DEFINE MSG_HELP _ /* making a C comment here makes the Doxygen lexer interpret this as Value:
  "Command line tool for generating documentation in FreeBasic source code." & NL & NL & _
  "Usage" & NL & _
  "  " & FBDOC_BINARY & " [Options]" & NL & NL & _
  "Options:" & NL & _
  "     -h (--help): print this help text and stop" & NL & _
  "  -v (--version): print version information and stop" & NL & _
  "  -a (--asterix): emit leading '* ' characters (gtk-doc style)" & NL & _
  "   -c (--cstyle): emit real C types" & NL & _
  "  -e (--emitter): specify emitter name" & NL & _
  " -f (--fileoutput): write output in files" & NL & _
  "    -g (--geany): run in geany mode (read from STDIN, export on STDOUT)" & NL & _
  "     -l (--list): generate fb-doc.lfn file" & NL & _
  "     -p (--path): specify output directory" & NL & _
  " -r (--recursiv): scan input files in subfolders" & NL & _
  "     -t (--tree): scan source tree (follow #INCLUDEs)" & NL & _
  "Example:" & NL & _
  "  " & FBDOC_BINARY & " -f" & NL & _
  "      Scan current folder for .bas and .bi files and" & NL & _
  "      create pseudo C code in ../doc/c_src" & NL & _
  "  " & FBDOC_BINARY & " --geany" & NL & _
  "      Get input from STDIN and send a matching comment block to STDOUT" & NL & _
  "      (for ENUM, UNION, TYPE, SUB, FUNCTION, PROPERTY)" & NL & _
  "For details see file 'ReadMe.txt' or visit:" & NL & _
  "  http://www.freebasic-portal.de/downloads/ressourcencompiler/fb-doc-229.html (de)" & NL & _
  "  http://www.freebasic.net/forum/viewtopic.php?f=8&t=19810 (en)" & NL 'end of C comment */

/'* \brief The welcome message, shown when running as a program (option \em --fileoutput) '/
#DEFINE MSG_WELCOME _ /*
  "                This is " & PROG_NAME & " version " & PROG_VERS & ", License GPLv3" & NL & _
  "      Copyright (C) 2012-2013 by Thomas.Freiherr{ at }gmx[ dot ]net" & NL '*/

/'* \brief The version information for the command line interface (option \em --version) '/
#DEFINE MSG_VERSION _ /*
  "  Compiled: " & __DATE__ & ", " & __TIME__ & " for " & _
  FBDOC_TARGET & ". (" & __FB_SIGNATURE__ & ")" & NL '*/

#IFDEF __FB_UNIX__
/'* \brief The target operation system (used in \ref MSG_VERSION, UNIX version here) '/
 #DEFINE FBDOC_TARGET "UNIX/LINUX"
/'* \brief The name of the binary (used in \ref MSG_HELP, UNIX version here) '/
 #DEFINE FBDOC_BINARY "./" & PROG_NAME
/'* \brief The operation system specific slash character (UNIX version here) '/
 #DEFINE SLASH "/"
#ELSE
'&/*
 #DEFINE FBDOC_TARGET "win/dos"
 #DEFINE FBDOC_BINARY PROG_NAME & ".exe"
 #DEFINE SLASH "\"
'&*/
#ENDIF

/'* \brief Emit a message to console '/
#DEFINE ERROUT(_T_) _ /*
 SCOPE : _
  VAR fnr = FREEFILE : _
  IF 0 = OPEN ERR (AS #fnr) THEN : _
   PRINT #fnr, PROG_NAME & ": " & _T_ : _
   CLOSE #fnr : _
  END IF : _
 END SCOPE '*/

#INCLUDE ONCE "fb-doc_emitters.bi"
#INCLUDE ONCE "fb-doc_parser.bi"
#INCLUDE ONCE "fb-doc_options.bi"
