mirror of https://github.com/lapce/lapce.git
fix: format imports (#1431)
* fix: add nightly options * style: format/sort imports
This commit is contained in:
parent
7b61e48b7d
commit
72a2d5e602
|
@ -1 +1,4 @@
|
|||
max_width = 85
|
||||
# below requires nightly
|
||||
# imports_granularity = "Crate"
|
||||
# group_imports = "StdExternalCrate"
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
use super::Buffer;
|
||||
|
||||
mod editing {
|
||||
use xi_rope::Rope;
|
||||
|
||||
use super::*;
|
||||
use crate::{editor::EditType, selection::Selection};
|
||||
use xi_rope::Rope;
|
||||
|
||||
#[test]
|
||||
fn is_pristine() {
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use xi_rope::{RopeDelta, Transformer};
|
||||
|
||||
use crate::buffer::Buffer;
|
||||
use crate::mode::{Mode, MotionMode, VisualMode};
|
||||
use crate::register::RegisterData;
|
||||
use crate::selection::{InsertDrift, SelRegion, Selection};
|
||||
use crate::{
|
||||
buffer::Buffer,
|
||||
mode::{Mode, MotionMode, VisualMode},
|
||||
register::RegisterData,
|
||||
selection::{InsertDrift, SelRegion, Selection},
|
||||
};
|
||||
|
||||
#[derive(Clone, Copy, PartialEq, Debug, Serialize, Deserialize)]
|
||||
pub enum ColPosition {
|
||||
|
|
|
@ -1384,10 +1384,12 @@ enum DuplicateDirection {
|
|||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::buffer::Buffer;
|
||||
use crate::cursor::{Cursor, CursorMode};
|
||||
use crate::editor::{DuplicateDirection, Editor};
|
||||
use crate::selection::{SelRegion, Selection};
|
||||
use crate::{
|
||||
buffer::Buffer,
|
||||
cursor::{Cursor, CursorMode},
|
||||
editor::{DuplicateDirection, Editor},
|
||||
selection::{SelRegion, Selection},
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn test_insert_simple() {
|
||||
|
|
|
@ -915,9 +915,10 @@ mod test {
|
|||
// function(s) in the module become unused. Hence turning off the lints.
|
||||
#![allow(unused, unreachable_code)]
|
||||
|
||||
use super::LapceLanguage;
|
||||
use std::path::PathBuf;
|
||||
|
||||
use super::LapceLanguage;
|
||||
|
||||
fn assert_language(expected: LapceLanguage, exts: &[&str]) {
|
||||
for ext in exts {
|
||||
let path = PathBuf::from(&format!("a.{ext}"));
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
use serde::{Deserialize, Serialize};
|
||||
use std::cmp::{max, min, Ordering};
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
use xi_rope::{RopeDelta, Transformer};
|
||||
|
||||
use crate::cursor::ColPosition;
|
||||
|
@ -534,9 +535,11 @@ fn remove_n_at<T>(v: &mut Vec<T>, index: usize, n: usize) {
|
|||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::buffer::Buffer;
|
||||
use crate::editor::EditType;
|
||||
use crate::selection::{InsertDrift, SelRegion, Selection};
|
||||
use crate::{
|
||||
buffer::Buffer,
|
||||
editor::EditType,
|
||||
selection::{InsertDrift, SelRegion, Selection},
|
||||
};
|
||||
|
||||
#[test]
|
||||
fn should_return_selection_region_min() {
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
use std::str;
|
||||
|
||||
use lapce_rpc::style::{LineStyle, Style};
|
||||
|
||||
use xi_rope::{spans::Spans, LinesMetric, Rope};
|
||||
|
||||
pub const SCOPES: &[&str] = &[
|
||||
|
|
|
@ -20,9 +20,8 @@
|
|||
};
|
||||
use xi_rope::Rope;
|
||||
|
||||
use crate::{language::LapceLanguage, style::SCOPES};
|
||||
|
||||
use super::{util::RopeProvider, PARSER};
|
||||
use crate::{language::LapceLanguage, style::SCOPES};
|
||||
|
||||
macro_rules! declare_language_highlights {
|
||||
($($name:ident: $feature_name:expr),* $(,)?) => {
|
||||
|
|
|
@ -24,12 +24,6 @@
|
|||
Interval, Rope, RopeDelta,
|
||||
};
|
||||
|
||||
use crate::{
|
||||
language::LapceLanguage,
|
||||
lens::{Lens, LensBuilder},
|
||||
style::SCOPES,
|
||||
};
|
||||
|
||||
use self::{
|
||||
edit::generate_edits,
|
||||
highlight::{
|
||||
|
@ -39,6 +33,11 @@
|
|||
},
|
||||
util::{matching_char, RopeProvider},
|
||||
};
|
||||
use crate::{
|
||||
language::LapceLanguage,
|
||||
lens::{Lens, LensBuilder},
|
||||
style::SCOPES,
|
||||
};
|
||||
|
||||
mod edit;
|
||||
pub mod highlight;
|
||||
|
|
|
@ -420,8 +420,7 @@ fn classify_boundary(
|
|||
prev: CharClassification,
|
||||
next: CharClassification,
|
||||
) -> WordBoundary {
|
||||
use self::CharClassification::*;
|
||||
use self::WordBoundary::*;
|
||||
use self::{CharClassification::*, WordBoundary::*};
|
||||
match (prev, next) {
|
||||
(Lf, Lf) => Start,
|
||||
(Lf, Space) => Interior,
|
||||
|
@ -442,9 +441,10 @@ fn classify_boundary(
|
|||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::WordCursor;
|
||||
use xi_rope::Rope;
|
||||
|
||||
use super::WordCursor;
|
||||
|
||||
#[test]
|
||||
fn prev_boundary_should_be_none_at_position_zero() {
|
||||
let rope = Rope::from("Hello world");
|
||||
|
|
|
@ -5,14 +5,20 @@
|
|||
EventCtx, FileInfo, Point, Rect, Selector, SingleUse, Size, WidgetId, WindowId,
|
||||
};
|
||||
use indexmap::IndexMap;
|
||||
use lapce_core::buffer::DiffLines;
|
||||
use lapce_core::command::{
|
||||
EditCommand, FocusCommand, MotionModeCommand, MoveCommand, MultiSelectionCommand,
|
||||
use lapce_core::{
|
||||
buffer::DiffLines,
|
||||
command::{
|
||||
EditCommand, FocusCommand, MotionModeCommand, MoveCommand,
|
||||
MultiSelectionCommand,
|
||||
},
|
||||
syntax::Syntax,
|
||||
};
|
||||
use lapce_core::syntax::Syntax;
|
||||
use lapce_rpc::plugin::{PluginId, VoltInfo, VoltMetadata};
|
||||
use lapce_rpc::{
|
||||
buffer::BufferId, file::FileNodeItem, source_control::DiffInfo, style::Style,
|
||||
buffer::BufferId,
|
||||
file::FileNodeItem,
|
||||
plugin::{PluginId, VoltInfo, VoltMetadata},
|
||||
source_control::DiffInfo,
|
||||
style::Style,
|
||||
terminal::TermId,
|
||||
};
|
||||
use lsp_types::{
|
||||
|
@ -25,22 +31,23 @@
|
|||
use strum_macros::{Display, EnumIter, EnumMessage, EnumString, IntoStaticStr};
|
||||
use xi_rope::{spans::Spans, Rope};
|
||||
|
||||
use crate::alert::AlertContentData;
|
||||
use crate::data::{LapceMainSplitData, LapceTabData, LapceWorkspace};
|
||||
use crate::document::BufferContent;
|
||||
use crate::editor::{EditorPosition, Line, LineCol};
|
||||
use crate::menu::MenuKind;
|
||||
use crate::rich_text::RichText;
|
||||
use crate::selection_range::SelectionRangeDirection;
|
||||
use crate::update::ReleaseInfo;
|
||||
use crate::{
|
||||
data::{EditorTabChild, SplitContent},
|
||||
editor::EditorLocation,
|
||||
alert::AlertContentData,
|
||||
data::{
|
||||
EditorTabChild, LapceMainSplitData, LapceTabData, LapceWorkspace,
|
||||
SplitContent,
|
||||
},
|
||||
document::BufferContent,
|
||||
editor::{EditorLocation, EditorPosition, Line, LineCol},
|
||||
keypress::{KeyMap, KeyPress},
|
||||
menu::MenuKind,
|
||||
palette::{PaletteItem, PaletteType},
|
||||
proxy::ProxyStatus,
|
||||
rich_text::RichText,
|
||||
search::Match,
|
||||
selection_range::SelectionRangeDirection,
|
||||
split::{SplitDirection, SplitMoveDirection},
|
||||
update::ReleaseInfo,
|
||||
};
|
||||
|
||||
pub const LAPCE_OPEN_FOLDER: Selector<FileInfo> = Selector::new("lapce.open-folder");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use std::{fmt::Display, path::PathBuf, sync::Arc};
|
||||
use std::{fmt::Display, path::PathBuf, str::FromStr, sync::Arc};
|
||||
|
||||
use anyhow::Error;
|
||||
use druid::{EventCtx, Size, WidgetId};
|
||||
|
@ -8,7 +8,6 @@
|
|||
use lapce_rpc::{buffer::BufferId, plugin::PluginId};
|
||||
use lsp_types::{CompletionItem, CompletionResponse, Position};
|
||||
use regex::Regex;
|
||||
use std::str::FromStr;
|
||||
|
||||
use crate::{config::LapceConfig, list::ListData, proxy::LapceProxy};
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
use std::{
|
||||
collections::HashMap,
|
||||
io::Write,
|
||||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
|
@ -9,11 +10,11 @@
|
|||
Color, ExtEventSink, FontFamily, Size, Target,
|
||||
};
|
||||
use indexmap::IndexMap;
|
||||
pub use lapce_proxy::APPLICATION_NAME;
|
||||
use lapce_proxy::{directory::Directory, plugin::wasi::find_all_volts};
|
||||
use once_cell::sync::Lazy;
|
||||
use parking_lot::{Mutex, RwLock};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
use structdesc::FieldNames;
|
||||
use thiserror::Error;
|
||||
use toml_edit::easy as toml;
|
||||
|
@ -23,8 +24,6 @@
|
|||
data::{LapceWorkspace, LapceWorkspaceType},
|
||||
};
|
||||
|
||||
pub use lapce_proxy::APPLICATION_NAME;
|
||||
|
||||
pub const LOGO: &str = include_str!("../../extra/images/logo.svg");
|
||||
const DEFAULT_SETTINGS: &str = include_str!("../../defaults/settings.toml");
|
||||
const DEFAULT_LIGHT_THEME: &str = include_str!("../../defaults/light-theme.toml");
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#[cfg(target_os = "windows")]
|
||||
use std::env;
|
||||
use std::{
|
||||
cell::RefCell,
|
||||
cmp::Ordering,
|
||||
|
@ -10,16 +12,12 @@
|
|||
time::Instant,
|
||||
};
|
||||
|
||||
#[cfg(target_os = "windows")]
|
||||
use std::env;
|
||||
|
||||
use anyhow::{anyhow, Result};
|
||||
use crossbeam_channel::{unbounded, Receiver, Sender};
|
||||
use druid::{
|
||||
piet::PietText, theme, Command, Data, Env, EventCtx, ExtEventSink,
|
||||
FileDialogOptions, Lens, Point, Rect, Size, Target, Vec2, WidgetId, WindowId,
|
||||
};
|
||||
|
||||
use itertools::Itertools;
|
||||
use lapce_core::{
|
||||
command::{FocusCommand, MultiSelectionCommand},
|
||||
|
@ -40,7 +38,6 @@
|
|||
terminal::TermId,
|
||||
RpcMessage,
|
||||
};
|
||||
|
||||
use lsp_types::{Diagnostic, DiagnosticSeverity, Position, ProgressToken, TextEdit};
|
||||
use notify::Watcher;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
use anyhow::{anyhow, Result};
|
||||
use crossbeam_channel::{unbounded, Sender};
|
||||
use druid::{ExtEventSink, Point, Rect, Size, Vec2, WidgetId};
|
||||
|
||||
use lapce_proxy::directory::Directory;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use xi_rope::Rope;
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
Interval, Rope, RopeDelta, Transformer,
|
||||
};
|
||||
|
||||
use crate::selection_range::SelectionRangeDirection;
|
||||
use crate::{
|
||||
command::{InitBufferContentCb, LapceUICommand, LAPCE_UI_COMMAND},
|
||||
config::{LapceConfig, LapceTheme},
|
||||
|
@ -53,7 +52,7 @@
|
|||
find::{Find, FindProgress},
|
||||
history::DocumentHistory,
|
||||
proxy::LapceProxy,
|
||||
selection_range::SyntaxSelectionRanges,
|
||||
selection_range::{SelectionRangeDirection, SyntaxSelectionRanges},
|
||||
settings::SettingsValueKind,
|
||||
};
|
||||
|
||||
|
|
|
@ -1,79 +1,62 @@
|
|||
use crate::command::InitBufferContentCb;
|
||||
use crate::command::LapceCommand;
|
||||
use crate::command::LAPCE_COMMAND;
|
||||
use crate::command::LAPCE_SAVE_FILE_AS;
|
||||
use crate::command::{CommandExecuted, CommandKind};
|
||||
use crate::completion::{CompletionData, CompletionStatus, Snippet};
|
||||
use crate::config::LapceConfig;
|
||||
use crate::data::EditorView;
|
||||
use crate::data::FocusArea;
|
||||
use crate::data::{
|
||||
EditorDiagnostic, InlineFindDirection, LapceEditorData, LapceMainSplitData,
|
||||
SplitContent,
|
||||
use std::{
|
||||
cmp::Ordering,
|
||||
collections::HashMap,
|
||||
iter::Iterator,
|
||||
path::{Path, PathBuf},
|
||||
str::FromStr,
|
||||
sync::Arc,
|
||||
thread,
|
||||
time::Duration,
|
||||
};
|
||||
use crate::document::BufferContent;
|
||||
use crate::document::Document;
|
||||
use crate::document::LocalBufferKind;
|
||||
use crate::hover::HoverData;
|
||||
use crate::hover::HoverStatus;
|
||||
use crate::keypress::KeyMap;
|
||||
use crate::keypress::KeyPressFocus;
|
||||
use crate::palette::PaletteData;
|
||||
use crate::proxy::path_from_url;
|
||||
use crate::rename::RenameData;
|
||||
use crate::selection_range::SelectionRangeDirection;
|
||||
use crate::{
|
||||
command::{
|
||||
EnsureVisiblePosition, InitBufferContent, LapceUICommand, LAPCE_UI_COMMAND,
|
||||
},
|
||||
split::SplitMoveDirection,
|
||||
};
|
||||
use crate::{find::Find, split::SplitDirection};
|
||||
use crate::{proxy::LapceProxy, source_control::SourceControlData};
|
||||
|
||||
use anyhow::{anyhow, Result};
|
||||
use crossbeam_channel::{self, bounded};
|
||||
use druid::piet::PietTextLayout;
|
||||
use druid::piet::Svg;
|
||||
use druid::FileDialogOptions;
|
||||
use druid::Modifiers;
|
||||
use druid::{
|
||||
piet::PietText, Command, Env, EventCtx, Point, Rect, Target, Vec2, WidgetId,
|
||||
piet::{PietText, PietTextLayout, Svg},
|
||||
Command, Env, EventCtx, ExtEventSink, FileDialogOptions, Modifiers, MouseEvent,
|
||||
Point, Rect, Target, Vec2, WidgetId,
|
||||
};
|
||||
use druid::{ExtEventSink, MouseEvent};
|
||||
use indexmap::IndexMap;
|
||||
use lapce_core::buffer::Buffer;
|
||||
use lapce_core::buffer::{DiffLines, InvalLines};
|
||||
use lapce_core::command::{
|
||||
EditCommand, FocusCommand, MotionModeCommand, MultiSelectionCommand,
|
||||
};
|
||||
use lapce_core::editor::EditType;
|
||||
use lapce_core::mode::{Mode, MotionMode};
|
||||
use lapce_core::selection::InsertDrift;
|
||||
use lapce_core::selection::Selection;
|
||||
pub use lapce_core::syntax::Syntax;
|
||||
use lapce_rpc::proxy::ProxyResponse;
|
||||
use lsp_types::request::GotoTypeDefinitionResponse;
|
||||
use lsp_types::CodeActionOrCommand;
|
||||
use lsp_types::CompletionTextEdit;
|
||||
use lsp_types::DocumentChangeOperation;
|
||||
use lsp_types::DocumentChanges;
|
||||
use lsp_types::OneOf;
|
||||
use lsp_types::ResourceOp;
|
||||
use lsp_types::TextEdit;
|
||||
use lsp_types::Url;
|
||||
use lsp_types::WorkspaceEdit;
|
||||
use lsp_types::{
|
||||
CodeActionResponse, CompletionItem, DiagnosticSeverity, GotoDefinitionResponse,
|
||||
Location, Position,
|
||||
use lapce_core::{
|
||||
buffer::{Buffer, DiffLines, InvalLines},
|
||||
command::{EditCommand, FocusCommand, MotionModeCommand, MultiSelectionCommand},
|
||||
editor::EditType,
|
||||
mode::{Mode, MotionMode},
|
||||
selection::{InsertDrift, Selection},
|
||||
};
|
||||
use lapce_rpc::proxy::ProxyResponse;
|
||||
use lsp_types::{
|
||||
request::GotoTypeDefinitionResponse, CodeActionOrCommand, CodeActionResponse,
|
||||
CompletionItem, CompletionTextEdit, DiagnosticSeverity, DocumentChangeOperation,
|
||||
DocumentChanges, GotoDefinitionResponse, Location, OneOf, Position, ResourceOp,
|
||||
TextEdit, Url, WorkspaceEdit,
|
||||
};
|
||||
use xi_rope::{Rope, RopeDelta, Transformer};
|
||||
|
||||
use crate::{
|
||||
command::{
|
||||
CommandExecuted, CommandKind, EnsureVisiblePosition, InitBufferContent,
|
||||
InitBufferContentCb, LapceCommand, LapceUICommand, LAPCE_COMMAND,
|
||||
LAPCE_SAVE_FILE_AS, LAPCE_UI_COMMAND,
|
||||
},
|
||||
completion::{CompletionData, CompletionStatus, Snippet},
|
||||
config::LapceConfig,
|
||||
data::{
|
||||
EditorDiagnostic, EditorView, FocusArea, InlineFindDirection,
|
||||
LapceEditorData, LapceMainSplitData, SplitContent,
|
||||
},
|
||||
document::{BufferContent, Document, LocalBufferKind},
|
||||
find::Find,
|
||||
hover::{HoverData, HoverStatus},
|
||||
keypress::{KeyMap, KeyPressFocus},
|
||||
palette::PaletteData,
|
||||
proxy::{path_from_url, LapceProxy},
|
||||
rename::RenameData,
|
||||
selection_range::SelectionRangeDirection,
|
||||
source_control::SourceControlData,
|
||||
split::{SplitDirection, SplitMoveDirection},
|
||||
};
|
||||
use std::cmp::Ordering;
|
||||
use std::path::Path;
|
||||
use std::thread;
|
||||
use std::{collections::HashMap, sync::Arc};
|
||||
use std::{iter::Iterator, path::PathBuf};
|
||||
use std::{str::FromStr, time::Duration};
|
||||
use xi_rope::Rope;
|
||||
use xi_rope::{RopeDelta, Transformer};
|
||||
|
||||
pub struct LapceUI {}
|
||||
|
||||
|
|
|
@ -1,25 +1,20 @@
|
|||
use std::collections::HashMap;
|
||||
use std::path::Path;
|
||||
use std::path::PathBuf;
|
||||
use std::sync::Arc;
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
};
|
||||
|
||||
use druid::Command;
|
||||
use druid::EventCtx;
|
||||
use druid::ExtEventSink;
|
||||
use druid::{Target, WidgetId};
|
||||
|
||||
use lapce_core::cursor::CursorMode;
|
||||
use lapce_core::selection::Selection;
|
||||
use lapce_rpc::file::FileNodeItem;
|
||||
use lapce_rpc::proxy::ProxyResponse;
|
||||
use druid::{Command, EventCtx, ExtEventSink, Target, WidgetId};
|
||||
use lapce_core::{cursor::CursorMode, selection::Selection};
|
||||
use lapce_rpc::{file::FileNodeItem, proxy::ProxyResponse};
|
||||
use xi_rope::Rope;
|
||||
|
||||
use crate::data::LapceMainSplitData;
|
||||
use crate::data::LapceWorkspace;
|
||||
use crate::document::LocalBufferKind;
|
||||
use crate::proxy::LapceProxy;
|
||||
|
||||
use crate::{command::LapceUICommand, command::LAPCE_UI_COMMAND};
|
||||
use crate::{
|
||||
command::{LapceUICommand, LAPCE_UI_COMMAND},
|
||||
data::{LapceMainSplitData, LapceWorkspace},
|
||||
document::LocalBufferKind,
|
||||
proxy::LapceProxy,
|
||||
};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub enum Naming {
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
use std::cmp::{max, min};
|
||||
|
||||
use lapce_core::{
|
||||
selection::{InsertDrift, SelRegion, Selection},
|
||||
word::WordCursor,
|
||||
};
|
||||
use regex::{Regex, RegexBuilder};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::cmp::{max, min};
|
||||
use xi_rope::{
|
||||
delta::DeltaRegion,
|
||||
find::{find, is_multiline_regex, CaseMatching},
|
||||
|
|
|
@ -1,17 +1,14 @@
|
|||
#![allow(clippy::module_inception)]
|
||||
|
||||
use std::path::PathBuf;
|
||||
use std::sync::Arc;
|
||||
use std::{path::PathBuf, sync::Arc};
|
||||
|
||||
use anyhow::Result;
|
||||
use druid::piet::{PietTextLayout, Text, TextLayout, TextLayoutBuilder};
|
||||
use druid::{Command, KbKey};
|
||||
use druid::{
|
||||
Env, EventCtx, ExtEventSink, KeyEvent, Modifiers, PaintCtx, Point, Rect,
|
||||
RenderContext, Size, Target,
|
||||
piet::{PietTextLayout, Text, TextLayout, TextLayoutBuilder},
|
||||
Command, Env, EventCtx, ExtEventSink, KbKey, KeyEvent, Modifiers, PaintCtx,
|
||||
Point, Rect, RenderContext, Size, Target,
|
||||
};
|
||||
use fuzzy_matcher::skim::SkimMatcherV2;
|
||||
use fuzzy_matcher::FuzzyMatcher;
|
||||
use fuzzy_matcher::{skim::SkimMatcherV2, FuzzyMatcher};
|
||||
use indexmap::IndexMap;
|
||||
use itertools::Itertools;
|
||||
use lapce_core::mode::{Mode, Modes};
|
||||
|
@ -19,14 +16,16 @@
|
|||
mod keypress;
|
||||
mod loader;
|
||||
|
||||
use crate::command::{
|
||||
pub use keypress::KeyPress;
|
||||
|
||||
use crate::{
|
||||
command::{
|
||||
lapce_internal_commands, CommandExecuted, CommandKind, LapceCommand,
|
||||
LapceUICommand, LAPCE_COMMAND, LAPCE_UI_COMMAND,
|
||||
},
|
||||
config::{LapceConfig, LapceTheme},
|
||||
keypress::loader::KeyMapLoader,
|
||||
};
|
||||
use crate::config::{LapceConfig, LapceTheme};
|
||||
use crate::keypress::loader::KeyMapLoader;
|
||||
|
||||
pub use keypress::KeyPress;
|
||||
|
||||
const DEFAULT_KEYMAPS_COMMON: &str =
|
||||
include_str!("../../../defaults/keymaps-common.toml");
|
||||
|
@ -740,9 +739,10 @@ fn parse_first(condition: &'a str) -> Self {
|
|||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::keypress::{Condition, KeyPressData, KeyPressFocus};
|
||||
use lapce_core::mode::Mode;
|
||||
|
||||
use crate::keypress::{Condition, KeyPressData, KeyPressFocus};
|
||||
|
||||
struct MockFocus {
|
||||
accepted_conditions: &'static [&'static str],
|
||||
}
|
||||
|
|
|
@ -1,38 +1,39 @@
|
|||
use std::{cmp::Ordering, collections::HashSet, path::PathBuf, sync::Arc};
|
||||
|
||||
use alacritty_terminal::{grid::Dimensions, term::cell::Flags};
|
||||
use anyhow::Result;
|
||||
use crossbeam_channel::{unbounded, Receiver, Sender, TryRecvError};
|
||||
use druid::{Command, ExtEventSink, Lens, Modifiers, Target, WidgetId};
|
||||
use druid::{Data, Env, EventCtx};
|
||||
use fuzzy_matcher::skim::SkimMatcherV2;
|
||||
use fuzzy_matcher::FuzzyMatcher;
|
||||
use druid::{
|
||||
Command, Data, Env, EventCtx, ExtEventSink, Lens, Modifiers, Target, WidgetId,
|
||||
};
|
||||
use fuzzy_matcher::{skim::SkimMatcherV2, FuzzyMatcher};
|
||||
use itertools::Itertools;
|
||||
use lapce_core::command::{EditCommand, FocusCommand};
|
||||
use lapce_core::language::LapceLanguage;
|
||||
use lapce_core::mode::Mode;
|
||||
use lapce_core::{
|
||||
command::{EditCommand, FocusCommand},
|
||||
language::LapceLanguage,
|
||||
mode::Mode,
|
||||
};
|
||||
use lapce_rpc::proxy::ProxyResponse;
|
||||
use lsp_types::{DocumentSymbolResponse, Position, Range, SymbolKind};
|
||||
use std::cmp::Ordering;
|
||||
use std::collections::HashSet;
|
||||
use std::path::PathBuf;
|
||||
use std::sync::Arc;
|
||||
use uuid::Uuid;
|
||||
|
||||
use crate::command::CommandKind;
|
||||
use crate::data::{LapceWorkspace, LapceWorkspaceType};
|
||||
use crate::document::BufferContent;
|
||||
use crate::editor::EditorLocation;
|
||||
use crate::list::ListData;
|
||||
use crate::panel::PanelKind;
|
||||
use crate::proxy::path_from_url;
|
||||
use crate::{
|
||||
command::LAPCE_UI_COMMAND,
|
||||
command::{CommandExecuted, LAPCE_COMMAND},
|
||||
command::{LapceCommand, LapceUICommand},
|
||||
command::{
|
||||
CommandExecuted, CommandKind, LapceCommand, LapceUICommand, LAPCE_COMMAND,
|
||||
LAPCE_UI_COMMAND,
|
||||
},
|
||||
config::LapceConfig,
|
||||
data::{FocusArea, LapceMainSplitData, LapceTabData},
|
||||
data::{
|
||||
FocusArea, LapceMainSplitData, LapceTabData, LapceWorkspace,
|
||||
LapceWorkspaceType,
|
||||
},
|
||||
document::BufferContent,
|
||||
editor::EditorLocation,
|
||||
find::Find,
|
||||
keypress::{KeyPressData, KeyPressFocus},
|
||||
proxy::LapceProxy,
|
||||
list::ListData,
|
||||
panel::PanelKind,
|
||||
proxy::{path_from_url, LapceProxy},
|
||||
terminal::TerminalSplitData,
|
||||
};
|
||||
|
||||
|
|
|
@ -8,9 +8,8 @@
|
|||
use lapce_proxy::plugin::{download_volt, wasi::find_all_volts};
|
||||
use lapce_rpc::plugin::{VoltInfo, VoltMetadata};
|
||||
use lsp_types::Url;
|
||||
use strum_macros::Display;
|
||||
|
||||
use plugin_install_status::PluginInstallStatus;
|
||||
use strum_macros::Display;
|
||||
|
||||
use crate::{
|
||||
command::{LapceUICommand, LAPCE_UI_COMMAND},
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use std::{collections::HashMap, path::PathBuf};
|
||||
|
||||
use druid::WidgetId;
|
||||
use std::collections::HashMap;
|
||||
use std::path::PathBuf;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct ProblemData {
|
||||
|
|
|
@ -1,37 +1,39 @@
|
|||
use std::io::BufReader;
|
||||
#[cfg(target_os = "windows")]
|
||||
use std::os::windows::process::CommandExt;
|
||||
use std::path::Path;
|
||||
use std::process::{Command, Stdio};
|
||||
use std::thread;
|
||||
use std::{collections::HashMap, io::Write};
|
||||
use std::{path::PathBuf, str::FromStr, sync::Arc};
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
io::{BufReader, Write},
|
||||
path::{Path, PathBuf},
|
||||
process::{Command, Stdio},
|
||||
str::FromStr,
|
||||
sync::Arc,
|
||||
thread,
|
||||
};
|
||||
|
||||
use anyhow::{anyhow, Result};
|
||||
use crossbeam_channel::Sender;
|
||||
use druid::{ExtEventSink, WidgetId};
|
||||
use druid::{Target, WindowId};
|
||||
use druid::{ExtEventSink, Target, WidgetId, WindowId};
|
||||
use flate2::read::GzDecoder;
|
||||
use lapce_proxy::directory::Directory;
|
||||
use lapce_proxy::dispatch::Dispatcher;
|
||||
use lapce_proxy::APPLICATION_NAME;
|
||||
pub use lapce_proxy::VERSION;
|
||||
use lapce_rpc::core::{CoreHandler, CoreNotification, CoreRequest, CoreRpcHandler};
|
||||
use lapce_rpc::proxy::{ProxyRpc, ProxyRpcHandler};
|
||||
use lapce_rpc::stdio::stdio_transport;
|
||||
use lapce_rpc::terminal::TermId;
|
||||
use lapce_rpc::RequestId;
|
||||
use lapce_rpc::RpcMessage;
|
||||
use lapce_proxy::{directory::Directory, dispatch::Dispatcher, APPLICATION_NAME};
|
||||
use lapce_rpc::{
|
||||
core::{CoreHandler, CoreNotification, CoreRequest, CoreRpcHandler},
|
||||
proxy::{ProxyRpc, ProxyRpcHandler},
|
||||
stdio::stdio_transport,
|
||||
terminal::TermId,
|
||||
RequestId, RpcMessage,
|
||||
};
|
||||
use lsp_types::Url;
|
||||
use parking_lot::Mutex;
|
||||
use serde_json::Value;
|
||||
use thiserror::Error;
|
||||
use xi_rope::Rope;
|
||||
|
||||
use crate::command::LapceUICommand;
|
||||
use crate::command::LAPCE_UI_COMMAND;
|
||||
use crate::data::{LapceWorkspace, LapceWorkspaceType};
|
||||
use crate::terminal::RawTerminal;
|
||||
use crate::{
|
||||
command::{LapceUICommand, LAPCE_UI_COMMAND},
|
||||
data::{LapceWorkspace, LapceWorkspaceType},
|
||||
terminal::RawTerminal,
|
||||
};
|
||||
|
||||
const UNIX_PROXY_SCRIPT: &[u8] = include_bytes!("../../extra/proxy.sh");
|
||||
const WINDOWS_PROXY_SCRIPT: &[u8] = include_bytes!("../../extra/proxy.ps1");
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
};
|
||||
|
||||
use druid::{
|
||||
piet::TextStorage as PietTextStorage,
|
||||
piet::{PietTextLayoutBuilder, TextLayoutBuilder},
|
||||
text::{Attribute, AttributeSpans, Link},
|
||||
text::{EnvUpdateCtx, TextStorage},
|
||||
piet::{
|
||||
PietTextLayoutBuilder, TextLayoutBuilder, TextStorage as PietTextStorage,
|
||||
},
|
||||
text::{Attribute, AttributeSpans, EnvUpdateCtx, Link, TextStorage},
|
||||
ArcStr, Color, Command, Data, Env, FontDescriptor, FontFamily, FontStyle,
|
||||
FontWeight, KeyOrValue,
|
||||
};
|
||||
|
|
|
@ -93,10 +93,11 @@ fn count(&self) -> usize {
|
|||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use crate::selection_range::SyntaxSelectionRanges;
|
||||
use lapce_rpc::buffer::BufferId;
|
||||
use lsp_types::{Position, Range, SelectionRange};
|
||||
|
||||
use crate::selection_range::SyntaxSelectionRanges;
|
||||
|
||||
#[test]
|
||||
fn should_get_next_selection_range() {
|
||||
let range_zero = Range {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
use lsp_types::ParameterLabel;
|
||||
use lsp_types::SignatureHelp;
|
||||
use lsp_types::{ParameterLabel, SignatureHelp};
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct SignatureState {
|
||||
|
|
|
@ -1,14 +1,19 @@
|
|||
use std::{
|
||||
borrow::Cow,
|
||||
ffi::OsString,
|
||||
fs,
|
||||
fs::File,
|
||||
io::{Read, Write},
|
||||
path::{Path, PathBuf},
|
||||
time::SystemTime,
|
||||
};
|
||||
|
||||
use anyhow::{anyhow, Result};
|
||||
use lapce_core::buffer::rope_text::CharIndicesJoin;
|
||||
use lapce_core::encoding::offset_utf8_to_utf16;
|
||||
use lapce_core::{
|
||||
buffer::rope_text::CharIndicesJoin, encoding::offset_utf8_to_utf16,
|
||||
};
|
||||
use lapce_rpc::buffer::BufferId;
|
||||
use lsp_types::*;
|
||||
use std::ffi::OsString;
|
||||
use std::fs;
|
||||
use std::fs::File;
|
||||
use std::io::{Read, Write};
|
||||
use std::path::PathBuf;
|
||||
use std::{borrow::Cow, path::Path, time::SystemTime};
|
||||
use xi_rope::{interval::IntervalBounds, rope::Rope, RopeDelta};
|
||||
|
||||
#[derive(Clone)]
|
||||
|
|
|
@ -1,38 +1,42 @@
|
|||
use crate::buffer::{get_mod_time, load_file, Buffer};
|
||||
use crate::plugin::catalog::PluginCatalog;
|
||||
use crate::plugin::{remove_volt, PluginCatalogRpcHandler};
|
||||
use crate::terminal::Terminal;
|
||||
use crate::watcher::{FileWatcher, Notify, WatchToken};
|
||||
use alacritty_terminal::event_loop::Msg;
|
||||
use alacritty_terminal::term::SizeInfo;
|
||||
use std::{
|
||||
collections::{HashMap, HashSet},
|
||||
fs,
|
||||
path::{Path, PathBuf},
|
||||
sync::Arc,
|
||||
thread,
|
||||
time::Duration,
|
||||
};
|
||||
|
||||
use alacritty_terminal::{event_loop::Msg, term::SizeInfo};
|
||||
use anyhow::{anyhow, Context, Result};
|
||||
use crossbeam_channel::Sender;
|
||||
use git2::build::CheckoutBuilder;
|
||||
use git2::{DiffOptions, Repository};
|
||||
use git2::{build::CheckoutBuilder, DiffOptions, Repository};
|
||||
use grep_matcher::Matcher;
|
||||
use grep_regex::RegexMatcherBuilder;
|
||||
use grep_searcher::sinks::UTF8;
|
||||
use grep_searcher::SearcherBuilder;
|
||||
use lapce_rpc::core::{CoreNotification, CoreRpcHandler};
|
||||
use lapce_rpc::file::FileNodeItem;
|
||||
use lapce_rpc::proxy::{
|
||||
ProxyHandler, ProxyNotification, ProxyRequest, ProxyResponse, ProxyRpcHandler,
|
||||
use grep_searcher::{sinks::UTF8, SearcherBuilder};
|
||||
use lapce_rpc::{
|
||||
core::{CoreNotification, CoreRpcHandler},
|
||||
file::FileNodeItem,
|
||||
proxy::{
|
||||
ProxyHandler, ProxyNotification, ProxyRequest, ProxyResponse,
|
||||
ProxyRpcHandler,
|
||||
},
|
||||
source_control::{DiffInfo, FileDiff},
|
||||
style::{LineStyle, SemanticStyles},
|
||||
terminal::TermId,
|
||||
RequestId, RpcError,
|
||||
};
|
||||
use lapce_rpc::source_control::{DiffInfo, FileDiff};
|
||||
use lapce_rpc::style::{LineStyle, SemanticStyles};
|
||||
use lapce_rpc::terminal::TermId;
|
||||
use lapce_rpc::{RequestId, RpcError};
|
||||
use lsp_types::{Position, Range, TextDocumentItem, Url};
|
||||
use parking_lot::Mutex;
|
||||
use std::collections::HashMap;
|
||||
use std::collections::HashSet;
|
||||
use std::fs;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::sync::Arc;
|
||||
use std::thread;
|
||||
use std::time::Duration;
|
||||
use xi_rope::Rope;
|
||||
|
||||
use crate::{
|
||||
buffer::{get_mod_time, load_file, Buffer},
|
||||
plugin::{catalog::PluginCatalog, remove_volt, PluginCatalogRpcHandler},
|
||||
terminal::Terminal,
|
||||
watcher::{FileWatcher, Notify, WatchToken},
|
||||
};
|
||||
|
||||
const OPEN_FILE_EVENT_TOKEN: WatchToken = WatchToken(1);
|
||||
const WORKSPACE_EVENT_TOKEN: WatchToken = WatchToken(2);
|
||||
|
||||
|
|
|
@ -23,13 +23,12 @@
|
|||
use serde_json::Value;
|
||||
use xi_rope::{Rope, RopeDelta};
|
||||
|
||||
use crate::plugin::{install_volt, wasi::enable_volt};
|
||||
|
||||
use super::{
|
||||
psp::{ClonableCallback, PluginServerRpc, PluginServerRpcHandler, RpcCallback},
|
||||
wasi::{load_all_volts, start_volt},
|
||||
PluginCatalogNotification, PluginCatalogRpcHandler,
|
||||
};
|
||||
use crate::plugin::{install_volt, wasi::enable_volt};
|
||||
|
||||
pub struct PluginCatalog {
|
||||
workspace: Option<PathBuf>,
|
||||
|
|
|
@ -20,12 +20,11 @@
|
|||
use serde_json::{json, Value};
|
||||
use xi_rope::Rope;
|
||||
|
||||
use crate::{buffer::Buffer, plugin::PluginCatalogRpcHandler};
|
||||
|
||||
use super::psp::{
|
||||
handle_plugin_server_message, PluginHandlerNotification, PluginHostHandler,
|
||||
PluginServerHandler, PluginServerRpcHandler, RpcCallback,
|
||||
};
|
||||
use crate::{buffer::Buffer, plugin::PluginCatalogRpcHandler};
|
||||
|
||||
const HEADER_CONTENT_LENGTH: &str = "content-length";
|
||||
const HEADER_CONTENT_TYPE: &str = "content-type";
|
||||
|
|
|
@ -3,22 +3,36 @@
|
|||
pub mod psp;
|
||||
pub mod wasi;
|
||||
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
fs,
|
||||
io::Write,
|
||||
path::{Path, PathBuf},
|
||||
sync::{
|
||||
atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering},
|
||||
Arc,
|
||||
},
|
||||
thread,
|
||||
};
|
||||
|
||||
use anyhow::{anyhow, Result};
|
||||
use crossbeam_channel::{Receiver, Sender};
|
||||
use dyn_clone::DynClone;
|
||||
use lapce_rpc::core::CoreRpcHandler;
|
||||
use lapce_rpc::plugin::{PluginId, VoltInfo, VoltMetadata};
|
||||
use lapce_rpc::proxy::ProxyRpcHandler;
|
||||
use lapce_rpc::style::LineStyle;
|
||||
use lapce_rpc::{RequestId, RpcError};
|
||||
use lsp_types::request::{
|
||||
use lapce_rpc::{
|
||||
core::CoreRpcHandler,
|
||||
plugin::{PluginId, VoltInfo, VoltMetadata},
|
||||
proxy::ProxyRpcHandler,
|
||||
style::LineStyle,
|
||||
RequestId, RpcError,
|
||||
};
|
||||
use lsp_types::{
|
||||
request::{
|
||||
CodeActionRequest, Completion, DocumentSymbolRequest, Formatting,
|
||||
GotoDefinition, GotoTypeDefinition, GotoTypeDefinitionParams,
|
||||
GotoTypeDefinitionResponse, HoverRequest, InlayHintRequest,
|
||||
PrepareRenameRequest, References, Rename, Request, ResolveCompletionItem,
|
||||
SelectionRangeRequest, SemanticTokensFullRequest, WorkspaceSymbol,
|
||||
};
|
||||
use lsp_types::{
|
||||
},
|
||||
CodeActionContext, CodeActionParams, CodeActionResponse, CompletionItem,
|
||||
CompletionParams, CompletionResponse, DocumentFormattingParams,
|
||||
DocumentSymbolParams, DocumentSymbolResponse, FormattingOptions,
|
||||
|
@ -31,24 +45,16 @@
|
|||
WorkspaceSymbolParams,
|
||||
};
|
||||
use parking_lot::Mutex;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde::{de::DeserializeOwned, Deserialize, Serialize};
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
use std::fs;
|
||||
use std::io::Write;
|
||||
use std::path::{Path, PathBuf};
|
||||
use std::sync::atomic::{AtomicBool, AtomicU64, AtomicUsize, Ordering};
|
||||
use std::sync::Arc;
|
||||
use std::thread;
|
||||
use xi_rope::{Rope, RopeDelta};
|
||||
|
||||
use crate::buffer::language_id_from_path;
|
||||
use crate::directory::Directory;
|
||||
|
||||
use self::catalog::PluginCatalog;
|
||||
use self::psp::{ClonableCallback, PluginServerRpcHandler, RpcCallback};
|
||||
use self::wasi::{load_volt, start_volt};
|
||||
use self::{
|
||||
catalog::PluginCatalog,
|
||||
psp::{ClonableCallback, PluginServerRpcHandler, RpcCallback},
|
||||
wasi::{load_volt, start_volt},
|
||||
};
|
||||
use crate::{buffer::language_id_from_path, directory::Directory};
|
||||
|
||||
pub type PluginName = String;
|
||||
|
||||
|
|
|
@ -27,8 +27,6 @@
|
|||
use wasmtime_wasi::WasiCtxBuilder;
|
||||
use xi_rope::{Rope, RopeDelta};
|
||||
|
||||
use crate::{directory::Directory, plugin::psp::PluginServerRpcHandler};
|
||||
|
||||
use super::{
|
||||
psp::{
|
||||
handle_plugin_server_message, PluginHandlerNotification, PluginHostHandler,
|
||||
|
@ -36,6 +34,7 @@
|
|||
},
|
||||
PluginCatalogRpcHandler,
|
||||
};
|
||||
use crate::{directory::Directory, plugin::psp::PluginServerRpcHandler};
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct WasiPipe {
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
use crossbeam_channel::{Receiver, Sender};
|
||||
use lsp_types::{CompletionResponse, ProgressParams, PublishDiagnosticsParams};
|
||||
use parking_lot::Mutex;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::{
|
||||
collections::HashMap,
|
||||
path::PathBuf,
|
||||
|
@ -11,6 +7,11 @@
|
|||
},
|
||||
};
|
||||
|
||||
use crossbeam_channel::{Receiver, Sender};
|
||||
use lsp_types::{CompletionResponse, ProgressParams, PublishDiagnosticsParams};
|
||||
use parking_lot::Mutex;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
file::FileNodeItem,
|
||||
plugin::{PluginId, VoltInfo, VoltMetadata},
|
||||
|
|
|
@ -10,12 +10,8 @@
|
|||
pub mod style;
|
||||
pub mod terminal;
|
||||
|
||||
pub use parse::Call;
|
||||
pub use parse::RequestId;
|
||||
pub use parse::RpcObject;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
|
||||
pub use parse::{Call, RequestId, RpcObject};
|
||||
use serde::{Deserialize, Serialize};
|
||||
pub use stdio::stdio_transport;
|
||||
|
||||
#[derive(Debug)]
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
use anyhow::Result;
|
||||
use crossbeam_channel::{Receiver, Sender};
|
||||
use serde::{de::DeserializeOwned, Serialize};
|
||||
use serde_json::{json, Value};
|
||||
use std::{
|
||||
io::{self, BufRead, Write},
|
||||
thread,
|
||||
};
|
||||
|
||||
use anyhow::Result;
|
||||
use crossbeam_channel::{Receiver, Sender};
|
||||
use serde::{de::DeserializeOwned, Serialize};
|
||||
use serde_json::{json, Value};
|
||||
|
||||
use crate::{RpcError, RpcMessage, RpcObject};
|
||||
|
||||
pub fn stdio_transport<W, R, Req1, Notif1, Resp1, Req2, Notif2, Resp2>(
|
||||
|
|
|
@ -19,8 +19,11 @@
|
|||
proxy::VERSION,
|
||||
};
|
||||
|
||||
use crate::{logging::override_log_levels, tab::LAPCE_TAB_META};
|
||||
use crate::{tab::LapceTabHeader, window::LapceWindow};
|
||||
use crate::{
|
||||
logging::override_log_levels,
|
||||
tab::{LapceTabHeader, LAPCE_TAB_META},
|
||||
window::LapceWindow,
|
||||
};
|
||||
|
||||
#[derive(Parser)]
|
||||
#[clap(name = "Lapce")]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use std::{fmt::Display, sync::Arc};
|
||||
use std::{fmt::Display, str::FromStr, sync::Arc};
|
||||
|
||||
use anyhow::Error;
|
||||
use druid::{
|
||||
|
@ -20,7 +20,6 @@
|
|||
};
|
||||
use lsp_types::{Documentation, MarkupKind};
|
||||
use regex::Regex;
|
||||
use std::str::FromStr;
|
||||
|
||||
use crate::{
|
||||
list::{List, ListPaint},
|
||||
|
|
|
@ -1,40 +1,35 @@
|
|||
use std::collections::HashMap;
|
||||
use std::time::Duration;
|
||||
use std::{iter::Iterator, sync::Arc};
|
||||
use std::{collections::HashMap, iter::Iterator, sync::Arc, time::Duration};
|
||||
|
||||
use druid::{
|
||||
kurbo::{BezPath, Line},
|
||||
piet::{PietText, PietTextLayout, Text, TextLayout as _, TextLayoutBuilder},
|
||||
BoxConstraints, Color, Command, Env, Event, EventCtx, InternalLifeCycle,
|
||||
LayoutCtx, LifeCycle, LifeCycleCtx, MouseButton, MouseEvent, PaintCtx, Point,
|
||||
Rect, RenderContext, Size, Target, UpdateCtx, Widget, WidgetId,
|
||||
LayoutCtx, LifeCycle, LifeCycleCtx, Modifiers, MouseButton, MouseEvent,
|
||||
PaintCtx, Point, Rect, RenderContext, Size, Target, TimerToken, UpdateCtx,
|
||||
Widget, WidgetId,
|
||||
};
|
||||
use druid::{Modifiers, TimerToken};
|
||||
use lapce_core::buffer::DiffLines;
|
||||
use lapce_core::command::EditCommand;
|
||||
use lapce_core::{
|
||||
command::FocusCommand,
|
||||
buffer::DiffLines,
|
||||
command::{EditCommand, FocusCommand},
|
||||
cursor::{ColPosition, CursorMode},
|
||||
mode::{Mode, VisualMode},
|
||||
};
|
||||
use lapce_data::command::CommandKind;
|
||||
use lapce_data::data::{EditorView, LapceData};
|
||||
use lapce_data::document::{BufferContent, LocalBufferKind};
|
||||
use lapce_data::history::DocumentHistory;
|
||||
use lapce_data::hover::HoverStatus;
|
||||
use lapce_data::keypress::KeyPressFocus;
|
||||
use lapce_data::menu::MenuKind;
|
||||
use lapce_data::palette::PaletteStatus;
|
||||
use lapce_data::panel::{PanelData, PanelKind};
|
||||
use lapce_data::selection_range::SyntaxSelectionRanges;
|
||||
use lapce_data::{
|
||||
command::{
|
||||
LapceCommand, LapceUICommand, LapceWorkbenchCommand, LAPCE_UI_COMMAND,
|
||||
CommandKind, LapceCommand, LapceUICommand, LapceWorkbenchCommand,
|
||||
LAPCE_UI_COMMAND,
|
||||
},
|
||||
config::{LapceConfig, LapceTheme},
|
||||
data::LapceTabData,
|
||||
data::{EditorView, LapceData, LapceTabData},
|
||||
document::{BufferContent, LocalBufferKind},
|
||||
editor::{LapceEditorBufferData, Syntax},
|
||||
menu::MenuItem,
|
||||
history::DocumentHistory,
|
||||
hover::HoverStatus,
|
||||
keypress::KeyPressFocus,
|
||||
menu::{MenuItem, MenuKind},
|
||||
palette::PaletteStatus,
|
||||
panel::{PanelData, PanelKind},
|
||||
selection_range::SyntaxSelectionRanges,
|
||||
};
|
||||
use lsp_types::{CodeActionOrCommand, DiagnosticSeverity};
|
||||
|
||||
|
|
|
@ -5,13 +5,12 @@
|
|||
};
|
||||
use lapce_data::{config::LapceTheme, data::LapceTabData};
|
||||
|
||||
use super::bread_crumb::LapceEditorBreadCrumb;
|
||||
use crate::{
|
||||
editor::{gutter::LapceEditorGutter, LapceEditor},
|
||||
scroll::{LapceIdentityWrapper, LapcePadding, LapceScroll},
|
||||
};
|
||||
|
||||
use super::bread_crumb::LapceEditorBreadCrumb;
|
||||
|
||||
pub struct LapceEditorContainer {
|
||||
pub view_id: WidgetId,
|
||||
pub scroll_id: WidgetId,
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
use crate::svg::get_svg;
|
||||
use druid::{
|
||||
piet::{PietText, Text, TextLayout, TextLayoutBuilder},
|
||||
BoxConstraints, Command, Env, Event, EventCtx, LayoutCtx, LifeCycle,
|
||||
|
@ -13,6 +12,8 @@
|
|||
editor::{LapceEditorBufferData, Syntax},
|
||||
};
|
||||
|
||||
use crate::svg::get_svg;
|
||||
|
||||
pub struct LapceEditorGutter {
|
||||
view_id: WidgetId,
|
||||
width: f64,
|
||||
|
|
|
@ -21,12 +21,11 @@
|
|||
split::{SplitDirection, SplitMoveDirection},
|
||||
};
|
||||
|
||||
use crate::editor::{
|
||||
tab_header::LapceEditorTabHeader, view::editor_tab_child_widget,
|
||||
use crate::{
|
||||
editor::{tab_header::LapceEditorTabHeader, view::editor_tab_child_widget},
|
||||
svg::get_svg,
|
||||
};
|
||||
|
||||
use crate::svg::get_svg;
|
||||
|
||||
pub struct LapceEditorTab {
|
||||
pub widget_id: WidgetId,
|
||||
header: WidgetPod<LapceTabData, LapceEditorTabHeader>,
|
||||
|
|
|
@ -1,34 +1,29 @@
|
|||
use std::sync::Arc;
|
||||
use std::{collections::HashMap, path::Path};
|
||||
use std::{collections::HashMap, path::Path, sync::Arc};
|
||||
|
||||
use druid::menu::MenuEventCtx;
|
||||
use druid::piet::TextAttribute;
|
||||
use druid::{
|
||||
piet::{Text, TextLayoutBuilder},
|
||||
BoxConstraints, Command, Cursor, Env, Event, EventCtx, LayoutCtx, LifeCycle,
|
||||
LifeCycleCtx, PaintCtx, Point, Rect, RenderContext, Size, Target, UpdateCtx,
|
||||
Widget, WidgetExt, WidgetId, WidgetPod,
|
||||
menu::MenuEventCtx,
|
||||
piet::{Text, TextAttribute, TextLayoutBuilder},
|
||||
BoxConstraints, Command, Cursor, Env, Event, EventCtx, ExtEventSink, KbKey,
|
||||
LayoutCtx, LifeCycle, LifeCycleCtx, PaintCtx, Point, Rect, RenderContext, Size,
|
||||
Target, UpdateCtx, Widget, WidgetExt, WidgetId, WidgetPod, WindowId,
|
||||
};
|
||||
use druid::{ExtEventSink, KbKey, WindowId};
|
||||
use itertools::Itertools;
|
||||
use lapce_core::command::FocusCommand;
|
||||
use lapce_data::command::{CommandKind, LapceCommand, LAPCE_COMMAND};
|
||||
use lapce_data::data::{EditorTabChild, LapceData, LapceEditorData};
|
||||
use lapce_data::document::{BufferContent, LocalBufferKind};
|
||||
use lapce_data::explorer::FileExplorerData;
|
||||
use lapce_data::explorer::Naming;
|
||||
use lapce_data::panel::PanelKind;
|
||||
use lapce_data::proxy::{LapceProxy, VERSION};
|
||||
use lapce_data::{
|
||||
command::LapceUICommand,
|
||||
command::LAPCE_UI_COMMAND,
|
||||
command::{
|
||||
CommandKind, LapceCommand, LapceUICommand, LAPCE_COMMAND, LAPCE_UI_COMMAND,
|
||||
},
|
||||
config::{LapceConfig, LapceTheme},
|
||||
data::LapceTabData,
|
||||
data::{EditorTabChild, LapceData, LapceEditorData, LapceTabData},
|
||||
document::{BufferContent, LocalBufferKind},
|
||||
explorer::{FileExplorerData, Naming},
|
||||
panel::PanelKind,
|
||||
proxy::{LapceProxy, VERSION},
|
||||
};
|
||||
use lapce_rpc::file::FileNodeItem;
|
||||
|
||||
use crate::editor::view::LapceEditorView;
|
||||
use crate::{
|
||||
editor::view::LapceEditorView,
|
||||
panel::{LapcePanel, PanelHeaderKind, PanelSizing},
|
||||
scroll::LapceScroll,
|
||||
svg::{file_svg, get_svg},
|
||||
|
|
|
@ -1,32 +1,28 @@
|
|||
use std::path::Path;
|
||||
use std::sync::Arc;
|
||||
use std::{path::Path, sync::Arc};
|
||||
|
||||
use druid::kurbo::Line;
|
||||
use druid::piet::{Svg, TextAttribute, TextLayout};
|
||||
use druid::{
|
||||
kurbo::Rect,
|
||||
piet::{Text, TextLayoutBuilder},
|
||||
BoxConstraints, Command, Data, Env, Event, EventCtx, LayoutCtx, LifeCycle,
|
||||
LifeCycleCtx, PaintCtx, Point, RenderContext, Size, Target, UpdateCtx, Widget,
|
||||
WidgetExt, WidgetId, WidgetPod,
|
||||
kurbo::{Line, Rect},
|
||||
piet::{Svg, Text, TextAttribute, TextLayout, TextLayoutBuilder},
|
||||
BoxConstraints, Command, Data, Env, Event, EventCtx, FontWeight, LayoutCtx,
|
||||
LifeCycle, LifeCycleCtx, Modifiers, PaintCtx, Point, RenderContext, Size,
|
||||
Target, UpdateCtx, Widget, WidgetExt, WidgetId, WidgetPod,
|
||||
};
|
||||
use druid::{FontWeight, Modifiers};
|
||||
use lapce_data::command::LAPCE_COMMAND;
|
||||
use lapce_data::data::LapceWorkspaceType;
|
||||
use lapce_data::list::ListData;
|
||||
use lapce_data::palette::{PaletteItem, PaletteItemContent, PaletteListData};
|
||||
use lapce_data::{
|
||||
command::{LapceUICommand, LAPCE_UI_COMMAND},
|
||||
command::{LapceUICommand, LAPCE_COMMAND, LAPCE_UI_COMMAND},
|
||||
config::LapceTheme,
|
||||
data::LapceTabData,
|
||||
data::{LapceTabData, LapceWorkspaceType},
|
||||
keypress::KeyPressFocus,
|
||||
palette::{PaletteStatus, PaletteType, PaletteViewData},
|
||||
list::ListData,
|
||||
palette::{
|
||||
PaletteItem, PaletteItemContent, PaletteListData, PaletteStatus,
|
||||
PaletteType, PaletteViewData,
|
||||
},
|
||||
};
|
||||
use lsp_types::SymbolKind;
|
||||
|
||||
use crate::list::{List, ListPaint};
|
||||
use crate::{
|
||||
editor::view::LapceEditorView,
|
||||
list::{List, ListPaint},
|
||||
svg::{file_svg, symbol_svg},
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,3 @@
|
|||
use crate::{
|
||||
panel::PanelSizing,
|
||||
scroll::LapceScroll,
|
||||
svg::{get_svg, logo_svg},
|
||||
};
|
||||
use druid::{
|
||||
kurbo::Line,
|
||||
piet::{
|
||||
|
@ -27,7 +22,11 @@
|
|||
rich_text::RichText,
|
||||
};
|
||||
|
||||
use crate::panel::{LapcePanel, PanelHeaderKind};
|
||||
use crate::{
|
||||
panel::{LapcePanel, PanelHeaderKind, PanelSizing},
|
||||
scroll::LapceScroll,
|
||||
svg::{get_svg, logo_svg},
|
||||
};
|
||||
|
||||
pub struct Plugin {
|
||||
line_height: f64,
|
||||
|
|
|
@ -1,16 +1,11 @@
|
|||
use std::time::Duration;
|
||||
use std::time::Instant;
|
||||
use std::time::{Duration, Instant};
|
||||
|
||||
use druid::Cursor;
|
||||
use druid::{
|
||||
kurbo::{Affine, Point, Rect, Size, Vec2},
|
||||
Insets, WidgetId,
|
||||
theme, BoxConstraints, Cursor, Data, Env, Event, EventCtx, Insets, LayoutCtx,
|
||||
LifeCycle, LifeCycleCtx, PaintCtx, RenderContext, TimerToken, UpdateCtx, Widget,
|
||||
WidgetId, WidgetPod,
|
||||
};
|
||||
use druid::{
|
||||
theme, BoxConstraints, Data, Env, Event, EventCtx, LayoutCtx, LifeCycle,
|
||||
LifeCycleCtx, PaintCtx, RenderContext, TimerToken, UpdateCtx, Widget, WidgetPod,
|
||||
};
|
||||
|
||||
use lapce_data::{
|
||||
command::{LapceUICommand, LAPCE_UI_COMMAND},
|
||||
config::{GetConfig, LapceConfig, LapceTheme},
|
||||
|
|
|
@ -1,21 +1,11 @@
|
|||
use crate::{
|
||||
editor::{
|
||||
tab::LapceEditorTab,
|
||||
view::{editor_tab_child_widget, LapceEditorView},
|
||||
},
|
||||
terminal::LapceTerminalView,
|
||||
};
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::svg::logo_svg;
|
||||
use druid::{
|
||||
kurbo::{Line, Rect},
|
||||
piet::{PietTextLayout, Text, TextLayout, TextLayoutBuilder},
|
||||
Command, Target, WidgetId,
|
||||
};
|
||||
use druid::{
|
||||
BoxConstraints, Env, Event, EventCtx, LayoutCtx, LifeCycle, LifeCycleCtx,
|
||||
PaintCtx, Point, RenderContext, Size, UpdateCtx, Widget, WidgetExt, WidgetPod,
|
||||
BoxConstraints, Command, Env, Event, EventCtx, LayoutCtx, LifeCycle,
|
||||
LifeCycleCtx, PaintCtx, Point, RenderContext, Size, Target, UpdateCtx, Widget,
|
||||
WidgetExt, WidgetId, WidgetPod,
|
||||
};
|
||||
use lapce_data::{
|
||||
command::{
|
||||
|
@ -31,6 +21,15 @@
|
|||
};
|
||||
use lapce_rpc::terminal::TermId;
|
||||
|
||||
use crate::{
|
||||
editor::{
|
||||
tab::LapceEditorTab,
|
||||
view::{editor_tab_child_widget, LapceEditorView},
|
||||
},
|
||||
svg::logo_svg,
|
||||
terminal::LapceTerminalView,
|
||||
};
|
||||
|
||||
struct LapceDynamicSplit {
|
||||
widget_id: WidgetId,
|
||||
children: Vec<ChildWidget>,
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
|
||||
use druid::{piet::Svg, Color};
|
||||
use include_dir::{include_dir, Dir};
|
||||
use lapce_data::config::{LapceConfig, LOGO};
|
||||
use lsp_types::{CompletionItemKind, SymbolKind};
|
||||
use once_cell::sync::Lazy;
|
||||
|
||||
use lapce_data::config::{LapceConfig, LOGO};
|
||||
|
||||
const ICONS_DIR: Dir = include_dir!("../icons");
|
||||
|
||||
static SVG_STORE: Lazy<SvgStore> = Lazy::new(SvgStore::new);
|
||||
|
|
|
@ -1,35 +1,31 @@
|
|||
use std::sync::Arc;
|
||||
|
||||
use crate::list::List;
|
||||
#[cfg(not(target_os = "macos"))]
|
||||
use crate::window::window_controls;
|
||||
use crate::{palette::Palette, svg::get_svg};
|
||||
use druid::{kurbo::Circle, InternalEvent};
|
||||
use druid::{
|
||||
kurbo::Line,
|
||||
kurbo::{Circle, Line},
|
||||
piet::{PietText, PietTextLayout, Svg, Text, TextLayout, TextLayoutBuilder},
|
||||
BoxConstraints, Color, Command, Env, Event, EventCtx, LayoutCtx, LifeCycle,
|
||||
LifeCycleCtx, MouseEvent, PaintCtx, Point, Rect, Region, RenderContext, Size,
|
||||
Target, Widget, WidgetExt, WidgetPod, WindowState,
|
||||
BoxConstraints, Color, Command, Env, Event, EventCtx, InternalEvent, LayoutCtx,
|
||||
LifeCycle, LifeCycleCtx, MouseEvent, PaintCtx, Point, Rect, Region,
|
||||
RenderContext, Size, Target, Widget, WidgetExt, WidgetId, WidgetPod,
|
||||
WindowConfig, WindowState,
|
||||
};
|
||||
use druid::{WidgetId, WindowConfig};
|
||||
use lapce_core::command::FocusCommand;
|
||||
use lapce_data::command::LAPCE_COMMAND;
|
||||
use lapce_data::data::FocusArea;
|
||||
use lapce_data::list::ListData;
|
||||
use lapce_data::proxy::VERSION;
|
||||
use lapce_data::{
|
||||
command::{
|
||||
CommandKind, LapceCommand, LapceUICommand, LapceWorkbenchCommand,
|
||||
LAPCE_UI_COMMAND,
|
||||
LAPCE_COMMAND, LAPCE_UI_COMMAND,
|
||||
},
|
||||
config::LapceTheme,
|
||||
data::{LapceTabData, LapceWorkspaceType},
|
||||
data::{FocusArea, LapceTabData, LapceWorkspaceType},
|
||||
list::ListData,
|
||||
menu::{MenuItem, MenuKind},
|
||||
palette::PaletteStatus,
|
||||
proxy::ProxyStatus,
|
||||
proxy::{ProxyStatus, VERSION},
|
||||
};
|
||||
|
||||
#[cfg(not(target_os = "macos"))]
|
||||
use crate::window::window_controls;
|
||||
use crate::{list::List, palette::Palette, svg::get_svg};
|
||||
|
||||
pub struct Title {
|
||||
widget_id: WidgetId,
|
||||
mouse_pos: Point,
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
use std::{cmp::Ordering, sync::Arc};
|
||||
|
||||
use druid::{
|
||||
kurbo::Line,
|
||||
widget::{LensWrap, WidgetExt},
|
||||
|
@ -10,8 +12,6 @@
|
|||
config::{LapceConfig, LapceTheme},
|
||||
data::{LapceTabData, LapceTabLens, LapceWindowData, LapceWorkspace},
|
||||
};
|
||||
use std::cmp::Ordering;
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::tab::{LapceTab, LapceTabHeader, LapceTabMeta, LAPCE_TAB_META};
|
||||
|
||||
|
@ -805,9 +805,10 @@ pub fn window_controls(
|
|||
Vec<(Rect, Command)>,
|
||||
Vec<(druid::piet::Svg, Rect, druid::Color)>,
|
||||
) {
|
||||
use crate::svg::get_svg;
|
||||
use druid::Color;
|
||||
|
||||
use crate::svg::get_svg;
|
||||
|
||||
let mut commands = Vec::new();
|
||||
|
||||
let minimise_rect = Size::new(width, width)
|
||||
|
|
Loading…
Reference in New Issue