code_forge 1.1.0 copy "code_forge: ^1.1.0" to clipboard
code_forge: ^1.1.0 copied to clipboard

A sophisticated code editor package with AI completion, LSP support, syntax highlighting, and advanced editing capabilities.

example/lib/main.dart

import 'dart:io';
import 'package:path/path.dart' as p;
import 'package:code_forge/code_forge.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:re_highlight/languages/dart.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _controller = CodeForgeController();
  final undoController = UndoRedoController();
  final absFilePath = p.join(Directory.current.path, "lib/example_code.dart");

  Future<LspConfig> getLsp() async {
    final absWorkspacePath = p.join(Directory.current.path, "lib");
    final data = await LspStdioConfig.start(
      executable: "dart",
      args: ["language-server", "--protocol=lsp"],
      filePath: absFilePath,
      workspacePath: absWorkspacePath,
      languageId: "dart",
    );
    return data;
  }

  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(
          child: FutureBuilder<LspConfig>(
            future: getLsp(),
            builder: (context, snapshot) {
              if (snapshot.connectionState == ConnectionState.waiting) {
                return CircularProgressIndicator();
              }
              return CodeForge(
                undoController: undoController,
                language: langDart,
                controller: _controller,
                textStyle: GoogleFonts.jetBrainsMono(),
                /* aiCompletion: AiCompletion(
                  model: Gemini(apiKey: "YOUR API KEY"),
                ), */
                lspConfig: snapshot.data,
                filePath: absFilePath,
              );
            },
          ),
        ),
      ),
    );
  }
}
21
likes
160
points
52
downloads

Publisher

unverified uploader

Weekly Downloads

A sophisticated code editor package with AI completion, LSP support, syntax highlighting, and advanced editing capabilities.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, http, markdown_widget, meta, re_highlight, web_socket_channel

More

Packages that depend on code_forge