package odoc-parser

  1. Overview
  2. Docs
Parser for ocaml documentation comments

Install

dune-project
 Dependency

Authors

Maintainers

Sources

odoc-3.2.1.tbz
sha256=d45eb125514839fd9ac27702bb4938d1b4f3b6978e9b16ab9673ea067245affc
sha512=3555386b4770a7caa8ec903683bde5ecdc41d5e57ffaee617d5da225c747bbd1e9c1d2677f4df97e96bbdfc69f580ea83b1b92b933ea40a436a658788b677bbc

doc/odoc-parser/Odoc_parser/Loc/index.html

Module Odoc_parser.LocSource

Locations in files.

This module concerns locations in source files, both points indicating a specific character and spans between two points.

Basic types

Sourcetype point = {
  1. line : int;
  2. column : int;
}

A specific character

Sourcetype span = {
  1. file : string;
  2. start : point;
  3. end_ : point;
}

A range of characters between start and end_ in a particular file

Sourceval span : span list -> span

span spans takes a list of spans and returns a single span starting at the start of the first span and ending at the end of the final span

Sourceval nudge_start : int -> span -> span

This adjusts only the column number, implicitly assuming that the offset does not move the location across a newline character.

Sourceval nudge_end : int -> span -> span

This adjusts only the column number, implicitly assuming that the offset does not move the location across a newline character.

Located values

Sourcetype +'a with_location = {
  1. location : span;
  2. value : 'a;
}

Describes values located at a particular span

Sourceval at : span -> 'a -> 'a with_location

Constructor for with_location

Sourceval location : 'a with_location -> span

Returns the location of a located value

Sourceval value : 'a with_location -> 'a

Returns the value of a located value

Sourceval map : ('a -> 'b) -> 'a with_location -> 'b with_location

Map over a located value without changing its location

Sourceval same : _ with_location -> 'b -> 'b with_location

same x y retuns the value y wrapped in a with_location whose location is that of x

Sourceval spans_multiple_lines : _ with_location -> bool

spans_multiple_lines x checks to see whether x is located on a single line or whether it covers more than one.