Git Product home page Git Product logo

lapce-lldb's Introduction

Lightning-fast And Powerful Code Editor


Lapce (IPA: /læps/) is written in pure Rust with a UI in Floem. It is designed with Rope Science from the Xi-Editor which makes for lightning-fast computation, and leverages Wgpu for rendering. More information about the features of Lapce can be found on the main website and user documentation can be found on GitBook.

Features

  • Built-in LSP (Language Server Protocol) support to give you intelligent code features such as: completion, diagnostics and code actions
  • Modal editing support as first class citizen (Vim-like, and toggleable)
  • Built-in remote development support inspired by VSCode Remote Development. Enjoy the benefits of a "local" experience, and seamlessly gain the full power of a remote system. We also have lapdev which can help manage your remote dev environments.
  • Plugins can be written in programming languages that can compile to the WASI format (C, Rust, AssemblyScript)
  • Built-in terminal, so you can execute commands in your workspace, without leaving Lapce.

Installation

You can find pre-built releases for Windows, Linux and macOS here, or installing with a package manager. If you'd like to compile from source, you can find the guide.

Contributing

Guidelines for contributing to Lapce can be found in CONTRIBUTING.md.

Feedback & Contact

The most popular place for Lapce developers and users is on the Discord server.

Or, join the discussion on Reddit where we are just getting started.

There is also a Matrix Space, which is linked to the content from the Discord server.

License

Lapce is released under the Apache License Version 2, which is an open source license. You may contribute to this project, or use the code as you please as long as you adhere to its conditions. You can find a copy of the license text here: LICENSE.

lapce-lldb's People

Contributors

dzhou121 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lapce-lldb's Issues

Using LLDB in Rust, Immediately crash or exit Lapce when using a breakpoint

A video is attached to show the bug:

Im currently facing an issue using LLDB

Im using MacOS 14inc M1

Step to reproduced the Bug from fresh install of lapce

  1. Install Lapce
  2. Install Rust Plugin and Lapce LLDB plugin
  3. brew install llvm
  4. set PATH of llvm bin
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
  1. copy the path to Lapce Settings.
  2. Add a Run.toml on root of project folder
# The run config is used for both run mode and debug mode

[[configs]]
# the name of this task
name = "codeitlikemiley"

# the type of the debugger. If not set, it can't be debugged but can still be run
type = "lldb"

# the program to run
program = "target/debug/mileysequel"


[configs.prelaunch]
program = "cargo"
args = [
  "build",
]
  1. Toggle a break point
  2. Hit Debugger

Here is the Video of the said Bug:

Screen.Recording.2023-12-29.at.10.12.24.PM.mov

This is the log file , a simplified version where I just open lapce , click on a debugger breakpoint, and run the debugger.

2023-12-30T05:44:07.111901Z  INFO lapce_app::app: Starting up Lapce..
2023-12-30T05:44:07.535916Z  INFO lapce_app::app: Starting up Lapce..
2023-12-30T05:44:08.131743Z  WARN lapce_app::window_tab: [Rust] Usage of startLspServer as a notification is deprecated.
2023-12-30T05:44:08.152600Z  WARN lapce_app::window_tab: [Crates] Usage of startLspServer as a notification is deprecated.
2023-12-30T05:44:08.161221Z ERROR lapce_app::window_tab: lsp server /Users/uriah/Library/Application Support/dev.lapce.Lapce-Stable/plugins/MathiasPius.lapce-crates/crates-lsp-0.0.2 stopped!
2023-12-30T05:44:17.009201Z DEBUG lapce_app::keypress: Pointer(PointerInputEvent { pos: (234.453125, 429.14453125), button: Primary, modifiers: ModifiersState(0x0), count: 1 })
2023-12-30T05:44:17.010578Z DEBUG lapce_app::keypress: Pointer(PointerInputEvent { pos: (234.453125, 429.14453125), button: Primary, modifiers: ModifiersState(0x0), count: 1 })
2023-12-30T05:44:19.038004Z DEBUG lapce_app::keypress: Pointer(PointerInputEvent { pos: (1023.796875, 17.23828125), button: Primary, modifiers: ModifiersState(0x0), count: 1 })
2023-12-30T05:44:19.038095Z DEBUG lapce_app::keypress: Pointer(PointerInputEvent { pos: (1023.796875, 17.23828125), button: Primary, modifiers: ModifiersState(0x0), count: 1 })

Note: that if I don't add any breakpoint the debugger would just run and complete the whole building of app e.g. the basic hello world would be echoed out. But Hitting the breakpoint and running the debugger it would just crash Lapce.

@dzhou121 any thoughts on this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.