FPDoc Editor

From Free Pascal wiki
Jump to navigationJump to search

Template:LazDoc

Introduction

LazDoc is short for lazarus documentation system. LazDoc uses and extends the FPDoc system - the Free Pascal Documentation system. You can find information about FPDoc here Free Pascal documentation tool manual.

Lazarus extension for FPDoc:

FPDoc editor

This is an integrated editor/viewer for Lazarus.

LazDE - Lazarus Documentation Editor

The big brother of the FPDOc Editor is lazde the lazarus documentation editor. It is a standalone application which can be found in lazarus/doceditor/lazde.lpi.

Where to find LazDoc??

LazDoc is integrated in the Lazarus IDE. It can be found under the View menu.

Usage

Using LazDoc is very simple.

1. Set the search path for LazDoc in the Project | Project Options dialog, under the LazDoc tabpage.

2. Open or select a file for which documentation exists.

3. Open the LazDoc editor. You can find it under the menu View.

4. Place and move the cursor. After placing the cursor on the source editor, you will notice that the caption of the LazDoc form changes. The caption shows the source element selected and the filename of the documentation file. By selecting the appropriate page in LazDoc you can edit a specific documentation tag. Of course it is also possible to use LazDoc only as a viewer.

Future plans

The todo list currently contains the following items, in no particular order:

  • Add documentation tags "seealso" to LazDoc
  • Add documentation tags "example" to LazDoc
  • Add documentation tags "topic" to LazDoc

Done

  • Make LazDoc create new elements in documentation
  • Make LazDoc create new documentation files
  • Adding a small toolbar makes it possible to use the available makeup tags.
  • Make LazDoc work on keydown in sourceeditor
  • Add LazDoc to IDE settings (showing and position in IDE)
  • Make it work for fpc sources (rtl files already exist)
  • Add settings to environment menu
  • Make it work on project files also
  • Propose to expand documentation tags with: "todo" and "notes" (no need for that, as there are alternatives)
  • Reduce overhead even further
  • All source elements are interpreted by LazDoc using codetools
  • Find inherited entries. For example TControl.Align of TButton.Align.
  • Optimization: inherited Entries are parsed on idle.
  • Optimization: xml files are cached, and only parsed once or if they changed on disk
  • Add a HTML viewer. This is available by installing the turbopoweriprodsgn package.