Module pipeline

pipeline
Version:
0.0.1
License:
MIT
Dependencies from vmod:
2
Imports:
14
Imported by:
1
Repository:
OS-specific
Show selected OS-specific symbols.
Backend-specific
Show selected Backend-specific symbols.

Dependencies defined in v.mod

  • srackham.pcre2
  • markdown

Imported by

Overview

pipeline module provides functions that are combined into a module processing pipeline.

The current pipeline consists of 4 stages:

  • read_dirs – read all subdirectories in module directory
  • parse – parse files in directories
  • create_universe – create a Universe to describe all symbols and modules in a directory
  • generate – generate documentation for all modules in Universe

Aliases

This section is empty.

Constants

This section is empty.

Sum types

This section is empty.

Functions

#fn create_universe

fn create_universe(name string, root string, is_stdlib bool, res_ch chan ParseResult) &mods.Universe

create_universe создает модульную структуру из результатов парсинга исходных файлов.

res_ch – канал, который возвращается из parse.

#fn generate

fn generate(multiverse mods.Multiverse, cfg GenerateConfig)

generate запускает генерацию документации из полученной universe.

#fn generate_search_index

fn generate_search_index(multiverse mods.Multiverse, output_file string)

generate_search_index создает поисковый индекс для всех universe.

#fn generate_universe

fn generate_universe(multiverse mods.Multiverse, universe mods.Universe, cfg GenerateConfig)

#fn parse

fn parse(dir_ch chan string) chan ParseResult

parse парсит файлы в директории и возвращает результаты в канале.

dir_ch – канал с путями к директориям полученный из read_dirs.

Обратите внимание, что создается лишь один воркер, который парсит файлы последовательно. Это сделано из-за того, что текущая реализация парсера не поддерживает параллельный парсинг.

Парсится вся директория, а не только файлы с расширением .v, потому что парсер может выдавать ошибки если парсить файлы по отдельности.

#fn read_dirs

fn read_dirs(path string, additional &fn (chan string)) ?chan string

read_dirs читает все поддиректории в директории path и возвращает канал, в который будут поступать пути к директориям.

После того как все директории будут записаны в канал, он будет закрыт.

Structs

#struct GenerateConfig

pub struct GenerateConfig {
pub:
	mode        generator.GenerateMode
	output_type OutputType
	base_url    string
	output      string
	no_overview bool
	root_dir    string
	repo_path   string
	max_cores   int
}

GenerateConfig описывает основные настройки генерации документации.

#struct ParseResult

pub struct ParseResult {
pub:
	path  string
	files []&ast.File
	table &ast.Table
}

ParseResult представляет результаты парсинга одной директории.

path – путь к директории.

files – список AST деревьев файлов в директории.

Interfaces

This section is empty.

Enums

#enum OutputType

pub enum OutputType {
	markdown
	html
}

OutputType определяет тип выходного файла.