Comments (13)
I'm guessing you're using emacs?
from merlin.
Oops, yes, sorry.
from merlin.
Could you be a little more specific ? I have a little delay when trying to complete after "Batteries.", is this kind of completion you are talking about, or it is slow even when there is few matches ?
from merlin.
It happens even with very few choices. For instance, typing "str", I immediately have 5 choices, but it's when I select the choice that the delay happens.
I also see some delay when I'm using "backspace" on such lines, or when I edit the "locked" zone. I suspect merlin keeps trying to compile what I write, and this interacts badly with completion. I don't know how to tell merlin to stop trying to find the types of things, to see if this is the culprit.
If it matters, I'm on OS X, with a Cocoa emacs 24.2.1, built with homebrew. I installed merlin yesterday with opam.
from merlin.
It happens even with very few choices. For instance, typing "str", I immediately have 5 choices, but it's when I select the choice that the delay happens.
I also see some delay when I'm using "backspace" on such lines, or when I edit the "locked" zone. I suspect merlin keeps trying to compile what I write, and this interacts badly with completion. I don't know how to tell merlin to stop trying to find the types of things, to see if this is the culprit.
If it matters, I'm on OS X, with a Cocoa emacs 24.2.1, built with homebrew. I installed merlin yesterday with opam.
Reply to this email directly or view it on GitHub:
#16 (comment)
You could try (setq merlin-idle-delay 0.)
. By the way are you up to
date with master, completion has been slightly changed yesterday.
from merlin.
Ok, I tried Merlin with vim and aquamacs on a Mac OS X Mountain Lion.
Vim integration with Merlin was completely transparent, going like a breeze.
Aquamacs was almost unusable, with severe slowdown during completion or idle-typing.
This seem related to OcamlPro/typerex#2 .
from merlin.
You could try
(setq merlin-idle-delay 0.)
.
I did, but it did not change anything.
By the way are you up to
date with master, completion has been slightly changed yesterday.
I use the opam version. Does it directly come from git, or is it a released version? Is there a way to update to master using opam?
from merlin.
You could try
(setq merlin-idle-delay 0.)
.I did, but it did not change anything.
By the way are you up to
date with master, completion has been slightly changed yesterday.I use the opam version. Does it directly come from git, or is it a released version? Is there a way to update to master using opam?
opam install merlin
should do.
from merlin.
I updated the version and it's even slower.
from merlin.
OK, so it seems that the issue is that merlin tries to find the type as it does the completion. What would be helpful is a way to avoid merlin to automatically find the types (so I would need to manually do a C-c C-ret to make the locked zone grow).
from merlin.
Alan Schmitt [email protected] writes:
OK, so it seems that the issue is that merlin tries to find the type as it does the completion. What would be helpful is a way to avoid merlin to automatically find the types (so I would need to manually do a C-c C-ret to make the locked zone grow).
Thanks for the report. I disabled the idle checking during completion
(or at least I believe I have). Could you try again ? Besides I disabled
the synchronization during automatic completion so that no other merlin
commands are run during completion. If you want to synchronize the
buffer and complete, you can now use the new shortcut C-c TAB (which
overrides tuareg).
from merlin.
It seems to be much better. I'll keep stressing it and will reopen if I notice something wrong. Thanks a lot!
from merlin.
I tried another version of emacs for OS X, and merlin is much faster on it (as well as flyspell, which used to be very slow as well). So this may be another way to solve this.
Here it is: https://github.com/railwaycat/emacs-mac-port
from merlin.
Related Issues (20)
- `complete-prefix` short-circuits too eagerly when deciding whether to return only record field names
- Implement Enhanced Hover Feature for PPXs in Merlin
- Jump to incorrect module HOT 2
- Make `complete-prefix` smarter about field projection expressions passed as `-prefix`
- string litteral with an extension node is wrongly marked as being unterminated HOT 3
- Hover of a mutually recursive type can cause a stack overflow HOT 4
- Can't go-to-definition in generated file HOT 13
- Incorrect module type from `type-enclosing` HOT 1
- Optional argument include by `case-analysis` HOT 1
- Failed to install merlin with opam with gcc14 HOT 1
- Merlin-lib: return the description of a warning based on its identifier HOT 1
- Tracker: project-wide occurrences
- `case-analysis` fails to load module HOT 2
- No config found for file .ocamlinit. Try calling 'dune build'. HOT 3
- Wildcard constructor patterns display an incorrect type on hover HOT 5
- unknown flag `-unboxed-types` HOT 1
- Jump to definition with let-punning HOT 1
- Exception Not_found in merlin locate HOT 1
- Permissions and deletion of temporary files created by preprocessors (pp) HOT 1
- The request for documentation of function argument gives documentation for whole function
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 merlin.