SuperBOL Studio Reference

SuperBOL Studio Configuration

There are several configuration files used by VSCode:

  • By default, options are taken from the user configuration in $HOME/.config/Code/User/settings.json (on Linux)

  • In a workspace, options are taken from the workspace configuration in .vscode/settings.json

  • Additionnally, SuperBOL Studio LSP server will also use options from superbol.toml at the root of the workspace, as a preference over options from settings.json files. This file is also used by other tools from SuperBOL that are not related to VSCode.

The command SuperBOL: Write Project Configuration can be used to export the configuration from the settings.json to the superbol.toml file.

SuperBOL options in settings.json

  • superbol.cobol.dialect (string, default: default): Default COBOL dialect for all files

    The available dialects are:

    • default and gnucobol: a global dialect including all other dialects

    • cobol85: only keywords from ANSI COBOL 85

    • cobol2002: only keywords from COBOL ISO 2002

    • cobol2014: only keywords from COBOL ISO 2014

    • acu and acu-strict: the ACUCOBOL-GT dialect

    • bs2000 and bs2000-strict: dialect for Fujitsu’s COBOL2000 V1.5 compiler

    • gcos and gcos-strict: dialect for COBOL on BULL GCOS mainframes

    • ibm and ibm-strict: dialect for COBOL on z/OS IBM mainframes

    • mf and mf-strict: dialect for Visual COBOL by MicroFocus (RocketSoftware now)

    • mvs and mvs-strict: dialect for IBM COBOL for MVS & VM

    • realia and realia-strict: dialect for CA Realia II

    • rm and rm-strict: dialect for RM-COBOL

    • xopen: dialect for X/Open COBOL

    The -strict version of a dialect permits using reserved words from all other dialects as custom COBOL words, as the non-strict version also reserve these words.

    You may also specify an absolute path to a custom GnuCOBOL dialect configuration file (see cobc’s -conf option).

    (May be overriden in project-specific superbol.toml files)

  • superbol.cobol.sourceFormat (string, default: auto): Default source reference-format.

    The available formats are:

    • auto: SuperBOL will try to discover the format by automatically

    • fixed: the old format, with a non-significant left margin of 6 characters, an indicator (* for comments) and a non-significant right margin after column 72

    • cobol85: same as fixed, but with strict verification of Area A.

    • variable: Same as fixed, but non-significant right margin starts after column 252

    • xcard: ICOBOL xCard format. Same as fixed, but non-significant right margin starts after column 255.

    • free: the new free format, with no margins and limitations. Comments are introduced by *> (except in MicroFocus dialect, where a * should be put in column 1)

    • xopen: X/Open Free format. Text starts at column 1, unless an indicator is present (* for comments, D for debug), and lines of up to 80 characters.

    • crt: ICOBOL Free-form format. Same as xopen, but with lines of up to 320 characters.

    • terminal: ACUCOBOL-GT Terminal format. Same as crt. Mostly compatible with VAX COBOL terminal format.

    • cobolx: Indicator in column 1, text starts at column 2, and ends at column 255.

    (May be overriden in project-specific superbol.toml files)

  • superbol.cobol.copybooks (array, default: [ { "dir: "." }]): Copybook Paths. Each object in the path contains at least a directory in the dir field, and a file-relative field (default it true).

    (May be overriden in project-specific superbol.toml files)

  • superbol.cobol.copyexts (array, default: ["cpy","cbl","cob"]): File extensions for copybook resolution

    (May be overriden in project-specific superbol.toml files)

  • superbol.cobcPath (string, default: “cobc”): GnuCOBOL Compiler Executable: Path to the GnuCOBOL compiler executable

  • superbol.lspPath (string, default: ““): SuperBOL Executable

    Name of the superbol-free executable if available in PATH; may be an absolute path otherwise. Leave empty to use the bundled superbol-free, if available.

  • superbol.forceSyntaxDiagnostics (boolean, default: false): Force reporting of syntax diagnostics for dialects other than COBOL85

  • superbol.cacheInGlobalStorage (boolean, default: false): Use storage provided by Visual Studio Code for caching. When this setting is set to false, the cache related to the contents of a given workspace folder f is stored in a file named f/_superbol/lsp-cache.: cache files are not removed automatically, whatever their location.

  • superbol.debugger.displayVariableAttributes (boolean, default: false): Display Variable Attributes

    Display storage property and field attributes (e.g. size of alphanumerics, digits and scale of numerics).

  • superbol.debugger.libcobPath (string, default: null): GnuCOBOL Runtime Library

    Path to the GnuCOBOL runtime library file

  • superbol.debugger.gdbPath (string, default: “gdb”): GNU Debugger Executable

    Path to the GNU debugger executable.

  • superbol.debugger.cobcrunPath (string, default: “cobcrun”): GnuCOBOL module loader

    Path to cobcrun, the GnuCOBOL module loader.

SuperBOL Options in superbol.toml

Not all options from settings.json can be set in superbol.toml. The following options can be set, in the [cobol] section of the TOML file:

  • dialect: Default dialect for COBOL source files
  • source-format: Default source reference-format
  • copybooks: Where to find copybooks
  • copyexts: Copybook filename extensions (for example ["cpy", "cob"])

SuperBOL Commands

  • SuperBOL: Restart Language Server:

  • SuperBOL: Write Project Configuration: translate options from the settings.json file to the superbol.toml file.

  • SuperBOL: Show Coverage:

  • SuperBOL: Hide Coverage:

  • SuperBOL: Update Coverage:

  • SuperBOL: Show Control-flow:

  • SuperBOL: Show Control-flow as an Arc-diagram: