/usr/lib/swipl/library/optparse.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl -- Print debug messages and test assertions
      • apply.pl -- Apply predicates on a list
      • lists.pl -- List Manipulation
      • broadcast.pl -- Event service
      • predicate_options.pl
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl -- Option list processing
      • thread_pool.pl
      • gensym.pl
      • settings.pl -- Setting management
      • arithmetic.pl
      • main.pl -- Provide entry point for scripts
      • readutil.pl
      • operators.pl -- Manage operators
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl -- Ordered set manipulation
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • yall.pl -- Lambda expressions
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl -- Prolog cross-referencer data collection
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • iostream.pl -- Utilities to deal with streams
      • url.pl -- Analysing and constructing URL
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl -- Run GIT commands
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • quintus.pl -- Quintus compatibility
      • prolog_versions.pl -- Demand specific (Prolog) versions
      • prolog_wrap.pl -- Wrapping predicates
      • dialect.pl -- Support multiple Prolog dialects
      • date.pl -- Process dates and times
      • persistency.pl -- Provide persistent dynamic predicates
      • prolog_code.pl -- Utilities for reasoning about code
      • strings.pl -- String utilities
      • dif.pl -- The dif/2 constraint
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • terms.pl -- Term manipulation
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • threadutil.pl -- Interactive thread utilities
      • prolog_stack.pl -- Examine the Prolog stack
      • prolog_clause.pl -- Get detailed source-information about a clause
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl -- Well Founded Semantics interface
      • sort.pl
      • dicts.pl -- Dict utilities
      • varnumbers.pl -- Utilities for numbered terms
      • rbtrees.pl -- Red black trees
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • statistics.pl -- Get information about resource usage
      • heaps.pl -- heaps/priority queues
      • when.pl -- Conditional coroutining
      • nb_set.pl -- Non-backtrackable sets
      • ctypes.pl -- Character code classification
      • listing.pl -- List programs and pretty print clauses
      • intercept.pl -- Intercept and signal interface
      • system.pl -- System utilities
      • prolog_debug.pl -- User level debugging tools
      • oset.pl -- Ordered set manipulation
      • writef.pl -- Old-style formatted write
      • tables.pl -- XSB interface to tables
      • make.pl -- Reload modified source files
      • vm.pl -- SWI-Prolog Virtual Machine utilities
      • thread.pl -- High level thread primitives
      • increval.pl -- Incremental dynamic predicate modification
      • check.pl -- Consistency checking
      • hashtable.pl -- Hash tables
      • tty.pl -- Terminal operations
      • optparse.pl -- command line parsing
        • opt_arguments/3
        • opt_parse/4
        • opt_parse/5
        • opt_help/2
        • parse_type/3
      • exceptions.pl -- Exception classification
      • shell.pl -- Elementary shell commands
      • edit.pl -- Editor interface
      • streams.pl -- Manage Prolog streams
      • explain.pl -- Describe Prolog Terms
      • qsave.pl -- Save current program as a state or executable
      • zip.pl -- Access resource ZIP archives
      • prolog_autoload.pl -- Autoload all dependencies
      • prolog_codewalk.pl -- Prolog code walker
      • readln.pl -- Read line as list of tokens
      • help.pl -- Text based manual
      • portray_text.pl -- Portray text
      • qpforeign.pl -- Quintus compatible foreign loader
      • prolog_deps.pl -- Compute file dependencies
      • win_menu.pl -- Console window menu
      • fastrw.pl -- Fast reading and writing of terms
      • prolog_config.pl -- Provide configuration information
      • prolog_profile.pl -- Execution profiler
      • prolog_coverage.pl -- Coverage analysis tool
      • prolog_history.pl -- Per-directory persistent commandline history
      • macros.pl -- Macro expansion
      • prolog_trace.pl -- Print access to predicates
      • check_installation.pl -- Check installation issues and features
      • prolog_metainference.pl -- Infer meta-predicate properties
      • rwlocks.pl -- Read/write locks
      • nb_rbtrees.pl -- Non-backtrackable operations on red black trees
      • files.pl
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
      • pio.pl -- Pure I/O
      • tabling.pl
 opt_arguments(+OptsSpec, -Opts, -PositionalArgs) is det
Extract commandline options according to a specification. Convenience predicate, assuming that command-line arguments can be accessed by current_prolog_flag/2 (as in swi-prolog). For other access mechanisms and/or more control, get the args and pass them as a list of atoms to opt_parse/4 or opt_parse/5 instead.

Opts is a list of parsed options in the form Key(Value). Dashed args not in OptsSpec are not permitted and will raise error (see tip on how to pass unknown flags in the module description). PositionalArgs are the remaining non-dashed args after each flag has taken its argument (filling in true or false for booleans). There are no restrictions on non-dashed arguments and they may go anywhere (although it is good practice to put them last). Any leading arguments for the runtime (up to and including '--') are discarded.