internal/

directory
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 9, 2024 License: MIT

README

Internal

This folder contains most of the code for the inox binary.

Folders and Packages

From more relevant to less relevant.

core

  • Core Inox types
  • Bytecode + tree walking interpreters
  • Code analysis
  • Runtime components (context, global state, module)
  • Default core patterns and pattern namespaces (%int, %object, %inox., ...)

parse

  • Inoxlang AST Types
  • Inoxlang parser
  • AST utils

globals

  • Globals (print, sleep, ...)
  • Namespaces (http, fs, ...)
  • Default limits

inoxprocess

  • Control server
  • Control client
  • Inox binary upgrade logic
  • Process-level access control using Landlock
  • ExternalFS (WIP)

inoxd

  • Service installation (Systemd)
  • Daemon

config

  • Process wide configuration

project

  • Project registry
  • Project type and logic
  • Scaffolding (e.g. templates)

projectserver

  • Standard LSP method handlers
  • Custom LSP method handlers
  • Language-agnostic LSP logic & types

localdb

  • Local database.

obsdb

  • Database based on object storage with on-disk cache.

filekv

buntdb

mod

  • Module execution

third_party_stable

  • This folder contains several third party packages of small size that are stable or don't need updates.

compressarch

  • Wrapper functions for untarring tarballs.
  • Wrapper functions for unzipping gzip archives.

jonsiter

  • JSON stream type
  • JSON iterator type

metricsperf

  • Profiling of the CPU, memory, mutexes and goroutines

reqratelimit

  • Rate limiting of network requests

memds (in-memory data structures)

  • Small zero-allocation bitset type (BitSet32) and generic graph type (Graph32)
  • Generic directed graph types
  • Generic queue types (array queue)

codecompletion

  • Code completion

hack

  • Small reflection hacks to inspect and modify some zerolog types.

help

  • Help on builtins
  • Help on language
  • Functions to retrieve help by topic name or value (Go function)
  • Help message formatting

learn

  • Tutorial data

prettyprint

  • Pretty-printing configuration type
  • Pretty-printing helper type

commonfmt

  • Functions to format some general messages and values.

afs (Abstract Filesystem)

  • Filesystem interface
  • File interfaces

inoxconsts

  • File related constants
  • Database scheme names
  • Default port constants

netaddr

  • Types representing remote IP addresses
  • Helper functions to filter interface IPs

testconfig

  • Configuration of the codebase tests

utils

  • Path utils
  • Regex transformation
  • Unix process control
  • Various small utility functions

Directories

Path Synopsis
wal
lsp
code gen by methods_gen_test.go, do not edit!
code gen by methods_gen_test.go, do not edit!
s3
third_party_stable
golang-levenshtein/levenshtein
This package implements the Levenshtein algorithm for computing the similarity between two strings.
This package implements the Levenshtein algorithm for computing the similarity between two strings.
titlecase
Titlecase package capitalizes all words in the string to Title Caps attempting to be smart about small words like a/an/the.
Titlecase package capitalizes all words in the string to Title Caps attempting to be smart about small words like a/an/the.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL