Skip to content
Maizied Hasan edited this page Oct 24, 2024 · 2 revisions

Welcome to the linpad wiki!

Linpad

Linpad is a simple yet powerful text editor designed for developers and writers. With features like syntax highlighting, word count, and customizable fonts, Linpad aims to enhance your text editing experience. This project is open-source, allowing collaboration to enhance and expand its features.

Features

  • Syntax Highlighting: Supports Python syntax highlighting.
  • Word Count: Displays the number of words and characters in your document.
  • Custom Fonts: Choose your preferred font and size.
  • Dark Mode: Toggle between light and dark themes.
  • Undo/Redo: Keep track of your changes with undo and redo functionality.
  • Find and Replace: Easily find and replace text in your documents.
  • Zoom In/Out: Adjust font size for better readability.
  • Print: Save your documents for printing.

Installation

To install Linpad, follow these steps:

  1. Download the latest release from the Releases page.
  2. Follow the installation instructions for your operating system (Windows, macOS, Linux).

Usage

Menu Options

  • File Menu:

    • New: Create a new file.
    • Open: Open an existing file.
    • Save: Save the current file.
    • Save As: Save the current file with a new name.
    • Print: Prepare the file for printing.
    • Exit: Close the application.
  • Edit Menu:

    • Undo: Revert the last action.
    • Redo: Redo the last undone action.
    • Cut/Copy/Paste: Basic text manipulation commands.
    • Delete: Remove the selected text.
    • Select All: Select all text in the editor.
    • Find: Search for specific text.
    • Replace: Replace specified text with new text.
    • Word Count: Display the word and character count.
  • Format Menu:

    • Font: Change the font family and size.
    • Toggle Dark Mode: Switch between dark and light themes.
    • Zoom In/Out: Increase or decrease the font size.
  • Help Menu:

    • About: Display information about Linpad.
    • Documentation: Open the online documentation.

Keyboard Shortcuts

  • New File: Ctrl + N
  • Open File: Ctrl + O
  • Save File: Ctrl + S
  • Save As: Ctrl + Shift + S
  • Print File: Ctrl + P
  • Exit: Ctrl + Q
  • Undo: Ctrl + Z
  • Redo: Ctrl + Y
  • Cut: Ctrl + X
  • Copy: Ctrl + C
  • Paste: Ctrl + V
  • Delete: Delete
  • Select All: Ctrl + A
  • Find: Ctrl + F
  • Replace: Ctrl + H
  • Word Count: Ctrl + W
  • Zoom In: Ctrl + =
  • Zoom Out: Ctrl + -
  • Toggle Dark Mode: Ctrl + D
  • Toggle Underline: Ctrl + U

Code Structure

Class: Linpad

The main class Linpad is responsible for initializing the text editor and setting up the user interface.

Key Methods:

  • __init__(): Initializes the main window and components.
  • update_status_bar(): Updates the status bar with the current line and column.
  • new_file(): Clears the text area for a new document.
  • open_file(): Opens a file dialog to select a file to open.
  • save_file(): Saves the current text area content to a file.
  • save_as_file(): Allows saving the current text area content with a new name.
  • print_file(): Prepares the file for printing.
  • choose_font(): Prompts the user to select a font.
  • find_text(): Searches for specific text within the text area.
  • replace_text(): Replaces specified text with new text.
  • word_count(): Displays the count of words and characters in the text area.
  • highlight_syntax(): Highlights Python keywords in the text area.
  • toggle_dark_mode(): Switches between dark and light modes.
  • zoom_in(): Increases the font size.
  • zoom_out(): Decreases the font size.
  • show_about(): Displays information about the application.
  • show_documentation(): Opens the online documentation.
  • bind_shortcuts(): Binds keyboard shortcuts to various functions.

About

Linpad is developed by Miaizied Hasan. This project is open-source, and I welcome any suggestions or contributions to make Linpad even better! Feel free to open issues or submit pull requests.

License

Linpad is released under the MIT License. See the LICENSE file for details.

Acknowledgements

Special thanks to the contributors and the open-source community for their support in making Linpad better!