Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtextmarkdownwriter.cpp File Reference

(0281005a711c3635114ba92f778d0e9c8a89027d)

#include "qtextmarkdownwriter_p.h"
#include "qtextdocumentlayout_p.h"
#include "qfontinfo.h"
#include "qfontmetrics.h"
#include "qtextdocument_p.h"
#include "qtextlist.h"
#include "qtexttable.h"
#include "qtextcursor.h"
#include "qtextimagehandler_p.h"
#include "qtextmarkdownimporter_p.h"
#include "qloggingcategory.h"
#include <QtCore/QRegularExpression>
+ Include dependency graph for qtextmarkdownwriter.cpp:

Go to the source code of this file.

Classes

struct  LineEndPositions
 

Functions

static int nearestWordWrapIndex (const QString &s, int before)
 
static int adjacentBackticksCount (const QString &s)
 
static void maybeEscapeFirstChar (QString &s)
 
static void escapeSpecialCharacters (QString &s)
 
static LineEndPositions findLineEnd (const QChar *begin, const QChar *end)
 
static bool isBlankLine (const QChar *begin, const QChar *end)
 
static QString createLinkTitle (const QString &title)
 

Variables

static const QChar qtmw_Space = u' '
 
static const QChar qtmw_Tab = u'\t'
 
static const QChar qtmw_Newline = u'\n'
 
static const QChar qtmw_CarriageReturn = u'\r'
 
static const QChar qtmw_LineBreak = u'\x2028'
 
static const QChar qtmw_DoubleQuote = u'"'
 
static const QChar qtmw_Backtick = u'`'
 
static const QChar qtmw_Backslash = u'\\'
 
static const QChar qtmw_Period = u'.'
 

Function Documentation

◆ adjacentBackticksCount()

static int adjacentBackticksCount ( const QString & s)
static

Definition at line 274 of file qtextmarkdownwriter.cpp.

References i, qMax(), qtmw_Backtick, and ret.

Referenced by QTextMarkdownWriter::writeBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createLinkTitle()

static QString createLinkTitle ( const QString & title)
static

Definition at line 380 of file qtextmarkdownwriter.cpp.

References QString::data(), findLineEnd(), isBlankLine(), qtmw_Backslash, qtmw_DoubleQuote, QString::size(), and title.

Referenced by QTextMarkdownWriter::writeBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ escapeSpecialCharacters()

static void escapeSpecialCharacters ( QString & s)
static

Escape all backslashes. Then escape any special character that stands alone or prefixes a "word", including the < that starts an HTML tag. https://spec.commonmark.org/0.31.2/#backslash-escapes

Definition at line 323 of file qtextmarkdownwriter.cpp.

References i, j, and qtmw_Backslash.

Referenced by QTextMarkdownWriter::writeBlock().

+ Here is the caller graph for this function:

◆ findLineEnd()

static LineEndPositions findLineEnd ( const QChar * begin,
const QChar * end )
static

Definition at line 347 of file qtextmarkdownwriter.cpp.

References begin(), LineEndPositions::lineEnd, qtmw_CarriageReturn, and qtmw_Newline.

Referenced by createLinkTitle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isBlankLine()

static bool isBlankLine ( const QChar * begin,
const QChar * end )
static

Definition at line 370 of file qtextmarkdownwriter.cpp.

References begin(), qtmw_Space, and qtmw_Tab.

Referenced by createLinkTitle().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ maybeEscapeFirstChar()

static void maybeEscapeFirstChar ( QString & s)
static

Escape anything at the beginning of a line of markdown that would be misinterpreted by a markdown parser, including any period that follows a number (to avoid misinterpretation as a numbered list item). https://spec.commonmark.org/0.31.2/#backslash-escapes

Definition at line 298 of file qtextmarkdownwriter.cpp.

References QRegularExpression::AnchorAtOffsetMatchOption, i, match(), QRegularExpression::NormalMatch, qtmw_Backslash, and QString::trimmed().

Referenced by QTextMarkdownWriter::writeBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nearestWordWrapIndex()

static int nearestWordWrapIndex ( const QString & s,
int before )
static

Definition at line 255 of file qtextmarkdownwriter.cpp.

References i, QString::mid(), qCDebug, qMax(), qMin(), and qtmw_Period.

Referenced by QTextMarkdownWriter::writeBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ qtmw_Backslash

const QChar qtmw_Backslash = u'\\'
static

◆ qtmw_Backtick

const QChar qtmw_Backtick = u'`'
static

◆ qtmw_CarriageReturn

const QChar qtmw_CarriageReturn = u'\r'
static

Definition at line 29 of file qtextmarkdownwriter.cpp.

Referenced by findLineEnd().

◆ qtmw_DoubleQuote

const QChar qtmw_DoubleQuote = u'"'
static

Definition at line 31 of file qtextmarkdownwriter.cpp.

Referenced by createLinkTitle(), and QTextMarkdownWriter::writeBlock().

◆ qtmw_LineBreak

const QChar qtmw_LineBreak = u'\x2028'
static

Definition at line 30 of file qtextmarkdownwriter.cpp.

Referenced by QTextMarkdownWriter::writeBlock().

◆ qtmw_Newline

◆ qtmw_Period

const QChar qtmw_Period = u'.'
static

◆ qtmw_Space

const QChar qtmw_Space = u' '
static

◆ qtmw_Tab

const QChar qtmw_Tab = u'\t'
static

Definition at line 27 of file qtextmarkdownwriter.cpp.

Referenced by isBlankLine().