Файли
l0ng-ai 357b728f1d Editor: quick fixes, completion, navigation while typing, and split-pane drag (#109)
* feat(editor): Drag tabs and files between split panes

HTML5 drag and drop never reaches the webview while native file drop is
enabled, so tab, project-file and changelist drags did nothing. They now
run on pointer events:

- Drag an editor tab onto another pane, or onto a pane's edge to split it.
- Drag files from the Project view into an editor pane (center opens them
  there, an edge opens them in a new split).
- Drag files between changelists in the Commit view.
- "Drag-and-drop with Alt pressed only" applies to tabs and stripe buttons.

* fix(lsp): Deliver server settings and start servers on a supported JDK

- workspace/configuration answers a server's own section (basedpyright)
  from its settings block; basedpyright runs in "standard" mode and keeps
  auto search paths on, so `src/` layouts resolve from `tests/`.
- jdtls: formatting follows the editor indent, calls complete without
  guessed arguments, and JDK internals stay out of completion.
- `max-java` in a language server config picks an installed JDK no newer
  than that (kotlin-language-server fails on JDK 25).
- Server initialization may take up to 5 minutes (first Gradle import).
- `lsp_resend_diagnostics` re-emits stored diagnostics after a reload.
- Spelling only checks declared names (not called methods like
  `substring`) and accepts plurals of known software terms.

* feat(editor): Quick fixes, completion and navigation while typing

Quick fixes
- Errors get a red quick-fix bulb; Apply Quick Fix (⌥⇧↵) fixes the most
  severe problem at the caret, and the error hover offers the fix directly.
- Code generated by a code action is re-indented to the file's style.
- Python: Implement abstract methods (⌃I or the bulb) from the bases.
- Duplicate code actions are listed once.

Completion
- Overloads sharing a name, and a name importable from several modules,
  are no longer merged into one entry.
- Auto-import entries show the module they import from.
- Call snippets without a stop (`new ArrayList<>()`) leave the caret inside
  the parentheses with parameter info, or past them when nothing takes
  arguments; parameter info also opens after server call snippets.
- The selected item is resolved ahead of acceptance, so its auto-import
  is applied (rust-analyzer).

Navigation and diagnostics
- Language server requests wait for pending edits, so Go to Declaration
  right after typing answers for the current text; an empty answer right
  after an edit is retried while the server catches up.
- Diagnostics come back after a window reload; error underlines stay
  visible under typo / unused highlighting.
- Implementation gutter markers no longer refresh in a loop while the
  server reports progress.
- A missing alternative server no longer shows as a server error.

* chore(lint): Skip agent worktrees under .claude

* fix(editor): Skip cancelled LSP requests and limit generated-code reformat

- Requests cancelled while waiting for pending edits are not sent.
- Code generated by an action is reformatted per changed hunk, so an added
  import doesn't reformat the code between it and the generated lines.
- A long busy spell caused by a settle refresh re-runs it only once.
- Files dropped on a file row of another changelist move to that changelist.
- Python Implement methods: a nested class without bases ends the lookup,
  class bodies continue through unindented string lines, and
  `@abstractproperty` stubs become `@property`.
- Resend diagnostics goes through the host ops, and custom servers get
  `max_java`.

* fix(editor): Rank the exact type first in Java constructor completion

jdtls appends the call or body to filterText (`String(${0})`); matching
on the label instead lets typing `String` rank `String` above
`StringBuilder` and the other types sharing its sort text.

* fix(editor): List identical completion items once

kotlin-language-server repeats a class once per classpath entry declaring
it, so `String()` and `String` were listed three times each.

* fix(editor): Keep the internal cancellation message out of the UI text catalog
2026-10-28 09:07:50 +08:00

566 рядки
4.2 KiB
Plaintext

# Programming terms the en_US dictionary lacks (IDEA bundles a similar "software terms" list).
# One lowercase word per line; checked case-insensitively.
abi
accessor
accessors
addr
admin
aggregator
alloc
allocator
amd
analytics
api
apis
app
apps
arg
argc
args
argv
arity
arm
async
atomics
attr
attrs
auth
authn
authz
autocomplete
autoload
backend
backends
backoff
backtrace
bitfield
bitflags
bitmask
bitset
bitwise
blob
blobs
bool
boolean
booleans
borrowck
bundler
buf
bufs
builtin
builtins
bytecode
cacheable
callback
callbacks
callee
callees
callsite
cfg
changelog
changeset
charset
checkbox
checksum
chmod
chown
cli
codebase
codec
codegen
codepoint
codepoints
color
colors
colorize
combinator
combinators
commandline
config
configs
configurable
const
consts
constexpr
coroutine
coroutines
cpu
cpus
crate
crates
css
csv
ctor
ctx
ctrl
cwd
daemon
dao
datagram
dataset
datasource
datatype
datetime
db
dbg
dealloc
debounce
debounced
debouncer
decl
decls
decrement
dedup
dedupe
deduplicate
deinit
del
delim
deps
deque
deref
dereference
deserialization
deserialize
deserialized
deserializer
desc
dest
dev
devs
dict
dicts
diff
diffs
dir
dirs
dirname
dll
dns
docstring
docstrings
dom
dtor
dto
dyn
elem
elems
enum
enums
env
envs
eof
eol
eq
errno
esc
eval
exe
expr
exprs
ext
failover
fallback
fallthrough
favicon
fd
fds
fifo
filename
filenames
filepath
filesystem
filesystems
filetype
fixme
fmt
fn
fns
foo
bar
baz
qux
frontend
fs
func
funcs
gc
getter
getters
gettext
github
gitignore
glob
globals
globbing
goroutine
goroutines
gpu
grpc
gui
gzip
hardcode
hardcoded
hashable
hashmap
hashset
hasher
heapify
hex
hostname
href
html
http
https
hunspell
iframe
ident
idx
impl
impls
init
inits
initializer
inline
inlined
inlining
int
ints
io
iter
iterable
iterables
iters
javadoc
jit
js
json
jsx
jwt
kotlin
kwargs
lambda
lambdas
len
lexer
lhs
lib
libc
libs
linter
localhost
lookahead
lookbehind
lookup
lookups
lsp
lvalue
malloc
markdown
memcpy
memoize
memoized
metadata
middleware
minified
minify
mixin
mixins
mmap
modal
monorepo
msg
msgs
multiline
mut
mutex
mutexes
namespace
namespaced
namespaces
nav
nginx
noop
npm
nullable
num
nums
oauth
obj
objs
offscreen
ok
opcode
opcodes
os
param
params
parsable
parser
parsers
passthrough
pathname
pid
pids
pixmap
placeholder
plugin
plugins
png
popup
popups
postfix
pre
precompute
precomputed
prefetch
preload
prepend
prepended
printf
println
proc
procs
protobuf
proxied
ptr
ptrs
pubsub
py
quickfix
rect
rects
redis
refactor
refactored
refactoring
refactorings
regex
regexes
regexp
renderer
repl
repo
repos
req
res
resize
resizable
resolver
resp
rhs
rpc
runnable
runtime
runtimes
rustc
rustfmt
rvalue
scalability
schemas
scrollbar
sdk
sdks
semver
serializable
serialization
serializer
setter
setters
sha
shader
signup
sizeof
smtp
sql
sqlite
src
ssh
ssl
stacktrace
stderr
stdin
stdio
stdlib
stdout
str
strs
struct
structs
subclass
subclasses
subcommand
subcommands
subdirectory
subdirectories
submodule
submodules
subprocess
subtree
svg
symlink
symlinks
sync
syscall
syscalls
tcp
templating
termination
timestamp
timestamps
tls
tmp
todo
todos
tokenize
tokenized
tokenizer
toml
toolchain
toolchains
toolbar
tooltip
tooltips
tsx
tuple
tuples
txt
typeof
ui
uid
uint
unary
unicode
unix
unmount
unregister
unset
unsubscribe
untracked
uri
uris
url
urls
usize
utf
util
utils
uuid
val
vals
var
vars
vec
vecs
viewport
vm
whitespace
wildcard
workspace
workspaces
xml
yaml
yml
# Python (IDEA's Python plugin bundles a similar dictionary)
asyncio
awaitable
classmethod
contextmanager
dataclass
dataclasses
dtype
dtypes
dunder
elif
kwarg
ndarray
nonlocal
numpy
pydantic
pyproject
pytest
setuptools
staticmethod
venv
virtualenv
# Services and infrastructure
checkpointing
dockerfile
embeddings
healthcheck
hotfix
kubectl
kubernetes
llm
llms
mysql
postgres
postgresql
rollout
subnet
upsert
webhook
webhooks
websocket
websockets
# Systems, graphics and terminal code
ascii
bools
clippy
cmd
cmds
dep
dst
ffi
gif
gpui
hsl
isize
jpeg
jpg
keybinding
keybindings
keymap
keymaps
lang
langs
lifecycle
micros
millis
nanos
opengl
otf
pty
ptys
realloc
refcount
refcounted
rgb
rgba
rustup
rwlock
semaphore
serde
subdir
subdirs
tokio
ttf
tty
udp
vulkan
wgpu
woff
woff2
breakpoint
sku
dropdown
navbar
superclass
typedef
eslint
unittest
jvm
jdk
ux
endpoint