- lib
- swish
- messages.pl
- paths.pl -- Setup SWISH search paths
- config.pl -- Make HTTP locations known to JSON code
- page.pl -- Provide the SWISH application as Prolog HTML component
- help.pl -- SWISH help system
- search.pl -- SWISH search from the navigation bar
- chat.pl -- The SWISH collaboration backbone
- storage.pl -- Store files on behalve of web clients
- gitty.pl -- Single-file GIT like version system
- gitty_driver_bdb.pl -- Gitty BDB driver
- gitty_driver_files.pl -- Gitty plain files driver
- patch.pl -- Run patch program
- authenticate.pl -- Authentication access for SWISH
- pep.pl -- SWISH PEP (Policy Enforcement Point)
- avatar.pl -- Avatar management
- noble_avatar.pl -- Noble Avatar generator
- chatstore.pl -- Store chat messages
- content_filter.pl -- Ban list content filter
- include.pl -- Support :- include(File) from SWISH
- swish_csv.pl -- Support CSV output from a Pengines server
- examples.pl -- Serve example files
- md_eval.pl -- Provide evaluable markdown
- profiles.pl
- highlight.pl -- Highlight token server
- markdown.pl -- SWISH Notebook markdown support
- render.pl -- SWISH term-rendering support
- template_hint.pl -- Generate template hints for CondeMirror
- trace.pl --
- projection.pl -- Define the projection
- jquery.pl -- Call jQuery on the SWISH interface
- dashboard.pl -- Provide non-programmer query execution
- bootstrap.pl -- Bootstrap form generator
- form.pl -- Form handling utilities
- cp_authenticate.pl -- SWISH login management
- logging.pl -- Add SWISH query execution to the HTTP log file
- swish
- style(+StyleIn) is semidet[multifile, wordlist(highlight)]
- style(+StyleIn, -SWISHType:atomOrPair, -Attributes:list)[multifile, wordlist(highlight)]
- Declare that we map StyleIn as generated by
library(prolog_colour) into a token of type SWISHType, providing
additional context information based on Attributes. Elements of
Attributes are terms of the form Name(Value) or the atom
text
. The latter is mapped totext(String)
, where String contains the text that matches the token character range.The resulting JSON token object has a property
type
, containing the SWISHType and the properties defined by Attributes.Additional translations can be defined by adding rules for the multifile predicate style/3. The base type, which refers to the type generated by the SWISH tokenizer must be specified by adding an attribute
base(BaseType)
. For example, if the colour system classifies an atom as refering to a database column, library(prolog_colour) may emitdb_column(Name)
and the following rule should ensure consistent mapping:swish_highlight:style(db_column(Name), db_column, [text, base(atom)]).