Comments (5)
Perhaps we could detect the indentation of the original first line and prepend it to all the lines.
from languageserver.
Thanks for the fix!
For the demo code above, if I copy
x <- rnorm(n)
y <- 3 + 2 * x + rnorm(n)
m <- lm(y ~ x)
coef(m)
which has indentation of 2 spaces.
And start a new line in the body of g
, I will automatically get an indentation of 2 spaces, as the following shows where |
represents my cursor:
g <- functon(x) {
|
}
If I paste the code at the cursor, I'll get
g <- functon(x) {
x <- rnorm(n)
y <- 3 + 2 * x + rnorm(n)
m <- lm(y ~ x)
coef(m)
}
which has 4-space indentation. However, the desired result for me is still 2-space indentation because it fits the indentation of the function body.
I'm wondering if it makes sense that the copied string be styled first (which removes its indentation) and put it to the cursor (which repects the indentation of the cursor as just implemented)?
from languageserver.
It is a VS code specific behavior. I don’t think we have any control of it.
from languageserver.
I'm a bit confused about which behavior is vscode-specific, or provided by vscode extensions. But the latest version is good enough for me. Thanks!
from languageserver.
The language server is only allowed to return what the protocol is allowed. For range formatting, we could only return a list of text edits (i.e., modified text). We cannot control the extra indentation based on the current cursor. In fact, the language server doesn't know where the cursor is at.
from languageserver.
Related Issues (20)
- Support for old R version HOT 3
- Support for path completions
- Availability of `formatOnType` in quarto
- Roxygen comments soft linebreaks aren't ignored in languageserver hover hints
- Reference support for S4 methods
- No documentSymbol response for Rmarkdown file with helix editor HOT 1
- Variable duplication, one from workspace, another from session
- Autocompletion Bugs in vscode rmd-files
- "glue" function semantic for the expressions inside {}
- spawn: bash failed with exit code 127 and signal 0. HOT 1
- callback error in Neovim: “attempt to compare string with number” HOT 1
- Completion dataframe variable/columns HOT 3
- Neovim lspinstall r-languageserver installation not using .Rprofile CRAN mirror address?
- languageserver crashes with regex in file
- VSCode outline fails in Rmarkdown document if there is pseudo chunk text inside the chunks
- VSCode Perl::LanguageServer causes a process that consumes CPU HOT 2
- Section collapsing issues HOT 1
- Error with renv: Header must provide a Content-Length property
- Hover and Outline do not appear to function
- languageserver and help page viewer not working in windows10 and miniforge environment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from languageserver.