Skip to main content

LangExtractor

Trait LangExtractor 

Source
pub trait LangExtractor {
    type Presets: Default;

    const LANG_TAG: &'static str;
    const ALLOWED_KINDS: &'static [&'static str];
    const KIND_SPECS: &'static [KindSpec];
    const ALLOWED_VISIBILITIES: &'static [&'static str];

    // Required methods
    fn parse(uri: &str, source: &str) -> ParsedDocument;
    fn extract_parsed(
        context: ExtractionContext<'_, Self::Presets>,
        document: &ParsedDocument,
    ) -> CodeGraph;

    // Provided methods
    fn file_root(_uri: &str, _anchor: &Moniker) -> Option<Moniker> { ... }
    fn extract(
        uri: &str,
        source: &str,
        anchor: &Moniker,
        deep: bool,
        presets: &Self::Presets,
    ) -> CodeGraph { ... }
}

Required Associated Constants§

Source

const LANG_TAG: &'static str

Source

const ALLOWED_KINDS: &'static [&'static str]

Source

const KIND_SPECS: &'static [KindSpec]

Source

const ALLOWED_VISIBILITIES: &'static [&'static str]

Required Associated Types§

Required Methods§

Source

fn parse(uri: &str, source: &str) -> ParsedDocument

Source

fn extract_parsed( context: ExtractionContext<'_, Self::Presets>, document: &ParsedDocument, ) -> CodeGraph

Provided Methods§

Source

fn file_root(_uri: &str, _anchor: &Moniker) -> Option<Moniker>

Source

fn extract( uri: &str, source: &str, anchor: &Moniker, deep: bool, presets: &Self::Presets, ) -> CodeGraph

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl LangExtractor for code_moniker_core::lang::c::Lang

Source§

const LANG_TAG: &'static str = "c"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::cs::Lang

Source§

const LANG_TAG: &'static str = "cs"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::go::Lang

Source§

const LANG_TAG: &'static str = "go"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::java::Lang

Source§

const LANG_TAG: &'static str = "java"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::python::Lang

Source§

const LANG_TAG: &'static str = "python"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::rs::Lang

Source§

const LANG_TAG: &'static str = "rs"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::sql::Lang

Source§

const LANG_TAG: &'static str = "sql"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets

Source§

impl LangExtractor for code_moniker_core::lang::ts::Lang

Source§

const LANG_TAG: &'static str = "ts"

Source§

const ALLOWED_KINDS: &'static [&'static str] = DEF_KINDS

Source§

const KIND_SPECS: &'static [KindSpec] = DEF_KIND_SPECS

Source§

const ALLOWED_VISIBILITIES: &'static [&'static str]

Source§

type Presets = Presets