generateLineNumbers method

List<Widget> generateLineNumbers()

Implementation

List<Widget> generateLineNumbers() {
  final List<Widget> lineNumbers = [];
  final int activeLineNum = textController.text
      .substring(0, textController.selection.end)
      .split('\n')
      .length;
  currentLineNum = activeLineNum;
  for (int i = 1; i <= textController.text.split('\n').length; i++) {
    lineNumbers.add(
      SizedBox(
        width: utils.AffogatoConstants.lineNumbersColWidth,
        child: Align(
          alignment: Alignment.centerRight,
          child: Text(
            i.toString(),
            textAlign: TextAlign.right,
            style: codeTextStyle.copyWith(
              color: i == activeLineNum
                  ? widget.api.workspace.workspaceConfigs.themeBundle
                      .editorTheme.editorLineNumberActiveForeground
                  : widget.api.workspace.workspaceConfigs.themeBundle
                      .editorTheme.editorLineNumberForeground,
            ),
          ),
        ),
      ),
    );

    /* leftGutterIndicators.add(
      Padding(
        padding: const EdgeInsets.only(
            right: utils.AffogatoConstants.lineNumbersGutterRightmostPadding),
        child: Container(
          width: utils.AffogatoConstants.lineNumbersGutterWidth -
              utils.AffogatoConstants.lineNumbersGutterRightmostPadding,
          decoration: BoxDecoration(
            border: Border(
              right: BorderSide(
                color: widget.api.workspace.workspaceConfigs.themeBundle.editorTheme.defaultTextColor.withOpacity(0.1),
                width: 1,
              ),
            ),
          ),
          child: Text(
            '',
            textAlign: TextAlign.right,
            style: TextStyle(
              height: utils.AffogatoConstants.lineHeight,
              fontSize: widget.stylingConfigs.editorFontSize,
            ),
          ),
        ),
      ),
    ); */
  }
  return lineNumbers;
}