marktext/doc/wip/renderer/editor.md
Felix Häusler 77ff23c2c8 refactor main source code (#1006)
* refactor main source code

* fix invalid file cache entries during startup
2019-05-04 22:14:45 +08:00

1.8 KiB

Editor

TBD

Internal

Raw markdown document

interface IMarkdownDocumentRaw
{
  // Markdown content
  markdown: string,
  // Filename
  filename: string,
  // Full path (may be empty?)
  pathname: string,

  // Document encoding
  encoding: string,
  // "lf" or "crlf"
  lineEnding: string,
  // Convert document ("lf") to `lineEnding` when saving
  adjustLineEndingOnSave: boolean

  // Whether the document has mixed line endings (lf and crlf) and was converted to lf.
  isMixedLineEndings: boolean
}

Markdowm document

A markdown document (IMarkdownDocument) represent a file.

interface IMarkdownDocument
{
  // Markdown content
  markdown: string,
  // Filename
  filename: string,
  // Full path (may be empty?)
  pathname: string,

  // Document encoding
  encoding: string,
  // "lf" or "crlf"
  lineEnding: string,
  // Convert document ("lf") to `lineEnding` when saving
  adjustLineEndingOnSave: boolean
}
interface IMarkdownDocumentOptions
{
  // Document encoding
  encoding: string,
  // "lf" or "crlf"
  lineEnding: string,
  // Convert document ("lf") to `lineEnding` when saving
  adjustLineEndingOnSave: boolean
}

File State

Internal state of a markdown document. IMarkdownDocument is used to create a IFileState.

interface IDocumentState
{
  isSaved: boolean,
  pathname: string,
  filename: string,
  markdown: string,
  encoding: string,
  lineEnding: string,
  adjustLineEndingOnSave: boolean,
  history: {
    stack: Array<any>,
    index: number
  },
  cursor: any,
  wordCount: {
    paragraph: number,
    word: number,
    character: number,
    all: number
  },
  searchMatches: {
    index: number,
    matches: Array<any>,
    value: string
  }
}

...

TBD

View

TBD

Side Bar

TBD

Tabs

TBD

Document

TBD