Closed cedeber closed 6 years ago
I can confirm that PragmataPro slows down the frame rate of scrolling. In my case it helped to use the PragmataPro Mono without ligatures.
Thanks @Tekl and @cedeber to let me know it. I'm almost sure that this is caused by the high number of glyphs of PragmataPro (9000 vs. ≈300 of the usual monospaced). The solution is to create a light weight version with ligatures. To do this I need to know which are the essential Unicode sets for you. Could you help me in this choice?
I have exactly the same issue. Especially the apps using ncurses library are extremely slow. To answer your question, I can not speak for everyone of course, but for me it would be acceptable if light version will include Basic Latin, Latin-1 Supplement, Latin Extended-A, Cyrillic and Box Drawing.
Can confirm, the slowdown is even more noticable when inside tmux.
I use tmux as well and it's absolutely unusable with PragmataPro in Terminal.app. PragmataPro Essential works fine.
@fabrizioschiavi I think if you were to make a subset similar to Fura Code Powerline (basically, FiraCode with Nerd Fonts -- https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/FiraCode) that it work better. I've been using Fura Code without problems for a while now.
I've also noticed that it's really slow in notepad
. I don't remember it being this bad in the past, though, so maybe there's something that can be fixed? It seems to be fine in Visual Studio or gVim...
Like @Tekl I noticed that using PragmataPro Mono without ligatures is much faster than using the other variants.
Same case for me. I notice that iTerm handles it a bit better, but can still feel a lag comparing with other fonts like SF Mono.
Even with PragmataPro Mono without ligatures, when scrolling fast (for example compiling with tons output lines or keep scrolling a large text file), the slow/lag appears.
A PragmataPro lite would a great idea!
fwiw I've switched to alacritty which is super fast. It doesn't support ligatures but PragmataPro is great even without them.
I decided to release a new Essential PragmataPro version in order to fix this issue. Could you help me to find the very essential Unicode ranges and OpenType features, please? https://www.fsd.it/2018/06/01/essential-pragmatapro-survey/
After Alacritty I've tried Kitty and settled with it — it supports ligatures and performs very well even with such big fonts as PragmataPro.
Screenshot:
I can confirm Kitty is super fast with PP. MacVim chokes on the number of glyphs I believe (even without ligatures, but especially with ligatures).
My 2 cents as I would love to see this fixed too. Within Blink PP flies, but the liga is definitely slower. In our case you only notice it when loading or resizing, scroll is ok and cat large files is good too, but if you are used to the non-liga will notice the difference.
Just filled out the survey, but let me know if you would like us to help you test anything, we may have better control of the rendering.
Thanks friends! I have a suspect now: probably 'CALT' Open Type feature is the very guilty of this issue. Probably OpenType experts like @tphinney @schriftgestalt @arialcrime @FontBoss @LettError can help
Make simpler fonts?
I don’t think that the number of characters is to blame. Have you tried to remove all OpenType features? Then add them piece by piece and see then it becomes slow again.
Good suggestion! Thanks Georg!
I, too, can vouch for Kitty with Pragmata Pro - works great!
@andreypopp off-topic, but what nvim theme are you using? Although I've always preferred a dark theme, your screenshot has intrigued me. It looks super clean with Pragmata Pro and its lovely bold font.
Having the same issue here, Terminal.app is unusable.
I too have the problem with the Terminal.app
, and I think that switching the editor can't be the solution.
@LettError I just tried to remove 4000 glyphs but nothing changed. I suspect that the number of glyphs aren’t the cause. Probably some hide and untouchable glyph for Terminal?
¯_(ツ)_/¯
Erik
On 16 Jul 2018, at 09:34, Fabrizio Schiavi notifications@github.com wrote:
@LettError I just tried to remove 4000 glyphs but nothing changed. I suspect that the number of glyphs aren’t the cause. Probably some hide and untouchable glyph for Terminal?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@fabrizioschiavi I noticed something recently. On macOS, if you disable subpixel font rendering, Terminal becomes smooth and fast again. (In System Preferences / General, disable "Use LCD font smoothing when available.)
FYI, macOS Mojave might not have subpixel rendering anymore.
Thanks @tuscland for letting me know this! Anyway don’t worry because with the great help of @kelas the next release will be 10x faster!
Hello everybody,
I'm helping out @fabrizioschiavi with profiling and optimisations for the upcoming version of calt
feature. Could someone please share a set of practical steps to reproduce an "unusable" Terminal.app on your system, using 826 Regular with ligatures enabled and empty scroll buffer? Please include your macOS version, font and window sizes, full content of the screen buffer and your system-wide sub-pixel setting.
This would be of immense help!
k.
Hi. I notice no differences with or without subpixel optimization. I did a copy of the default "Pro" theme and changed the font to Pragmata. I am using macOS 10.13.6 on a MacBook Pro 13" end 2013. The performance issue is visible after a few ls
. I've got nothing special into the folder.
Hi @cedeber, You are right. I suppose I got fooled by the fact I have two terminals running here with lots of data but for some reason there's no slowdown at all. I incorrectly inferred that my recent change to subpixel rendering was the reason it was smooth. Sorry for the noise...
@cedeber @tuscland
Just trying to make sure I'm getting this right. In the simplest possible example, 0.826 Regular gives you a clearly noticeable lag while typing a series of 1
into a fresh blank terminal window, can you confirm that?
HI @kelas, Unfortunately I am unable to confirm this. Do you use a custom prompt?
@tuscland Yes — I tried a few exotic PS1 prompts, including powerline and powerline-go. Altogether, I tested Terminal.app with 0.826R on three generations of Macs and should be safe to say I can't reproduce the problem, even remotely. iTerm2 also doesn't show any noticeable slowdown, with or without ligatures.
Good news is that the upcoming ligature substitution table routinely outperforms 0.826 by 10-20x depending on text layout engine in use and the actual input stream.
I might add, it is well-known that Terminal.app is using some pretty shady internal mechanisms to achieve acceptable scroll performance. As it happens, under certain conditions exotic designs can often produce the opposite effect. See https://news.ycombinator.com/item?id=14798211
I just gave Pragmata Pro 0.826 another try and the performance issues are still unbearable.
Here is what I did:
ls -lah
's to get something to scrollHere are my specs:
@stefanfrede I must admit, this one beats me completely. @fabrizioschiavi, it would be great to ask @stefanfrede to test 0.827 beta on his system, at least to narrow it down? Although I am pretty sure ligatures are not the culprit.
@stefanfrede Although one can never be sure when it comes to Apple software, there is a good indication that Terminal.app is still using Core Text to render glyphs. CT is a native macOS API, which makes me believe Pragmata would be showing same effect everywhere on your system. Like, TextEdit, maybe?
I just gave TextEdit a shot and there is seems to work fine.
@stefanfrede I think you pointed me in the right direction.
I was just able to reproduce a dramatic frame drop in Terminal.app, under zsh with the following input stream:
The scroll lags terribly over this area, and then resumes smooth operation.
The worst thing about it is that when I paste this buffer into a fresh Terminal window, the scroll works perfectly fine although optically it is identical to the broken window.
@fabrizioschiavi I'm inclined to give up on this one. Exactly the kind of issue your local Apple Genius is guaranteed to scratch his head about :)
iTerm is free and open source. As in "makes it possible to check the code and figure out what's going on."
The only thing I can confirm with certainty is that the scroll issue has nothing to do with ligatures — it keeps occurring even with all OpenType features physically removed from Pragmata's font file.
My best guess is that upon discovery of 🍺 or similar nonsense in the input, Terminal is looking something up in Pragmata's supplementary Unicode planes. And it seems to be doing that every time you scroll over, which really makes one wonder about this otherwise formidable piece of software.
Could this also be when bold variants are displayed? I had the impression that mixed fonts could be what was triggering the slowness.
@tuscland I'm having the problem with brew
output without additional faces installed. I only have the bare Regular without ligatures. Also, I think Bold is only a couple of thousand glyphs, opposed to ~9,000 in Regular.
The answer to this is to ask @fabrizioschiavi to modularise the font, or switch to a decent terminal emulator, of those there is no shortage.
Wanna give my 2c in case it helps as it may be another clue.
Within Blink, Pragmata with and without ligatures is almost same speed (cat big files, etc...). When it lags more noticeably is when performing a zoom. Blink calculates the new width of the characters and that seems to be the operation that drives it crazy in the ligatures case. Maybe @yury has more insights on this. There may be nothing on screen when we perform this, just the "blink>" prompt.
If it is helpful and you know what you want to try, we may be able to tweak on typekit faster to see if we can disable some characters or anything and see where it goes nuts.
@carloscabanero What is likely happening on font size change is Blink re-rasterizing its glyph atlas, which is a very expensive operation indeed but has absolutely nothing to do with ligatures. In this case, ligature is simply another glyph to be re-rendered. What is usually happening after atlas resize is text reflow, which is where ligature substitution would have some performance impact but it is absolutely negligible unless you are re-flowing a few megabytes of text.
Poor font resize implementations are not uncommon. Sublime Text, for example (an absolutely amazing piece of machinery otherwise) can easily jam for 10-15 seconds if you hit Cmd+equal a few times in a row with a reasonably big document open.
Sublime's excuse is that they chose to implement their own layout engine and rasteriser, which are not perfect but do the job. This is precisely why Sublime usually lags two years behind the competition on things like ligature support, for example.
On the other hand, Sublime Text is pretty much THE golden reference all Atoms and VSCodes of this world are looking up to.
@kelas why do you think it takes longer to reraster the glyph atlas in the ligature font case? Larger amount of glyphs?
What I do in cases like this is to remove stuff from the font until the issue is fixed. Then add different pieces back to see when the issue reappears.
So:
And so on. That way I usually have the culprit in 10-20 min.
@schriftgestalt Thanks — that's pretty much exactly what we've done here so far. This is called binary search, and it is known to work really well :)
The problem is that Terminal.app is producing absolutely disastrous results for some people, and the lucky ones can hardly reproduce anything at all.
@carloscabanero It all depends on the specific strategy of glyph atlas maintenance. I can easily imagine there is someone out there re-rasterizing ALL glyphs in the font at once, which is what they probably consider good enough for "most fonts out there" (although I'm really hoping nobody is doing something like that). But regardless, Pragmata Pro is a clear edge case, and it tests the limits of most editors and terminal emulators it is used with like nothing else.
I just had a crazy idea and thought about why not test zsh
instead of sh
.
So, I did it and I had a strange behavior: Different scroll performance depending on what shown on the screen. I did a copy of the Pro theme.
This is the console log:
Last login: Mon Aug 13 23:31:29 on ttys002
MacBook-Pro-de-Cedric:~ cedeber$ zsh
[Oh My Zsh] Would you like to check for updates? [Y/n]: Y
Updating Oh My Zsh
remote: Counting objects: 1575, done.
remote: Compressing objects: 100% (786/786), done.
remote: Total 1575 (delta 842), reused 1398 (delta 689), pack-reused 0
Receiving objects: 100% (1575/1575), 364.34 KiB | 585.00 KiB/s, done.
Resolving deltas: 100% (842/842), completed with 186 local objects.
From https://github.com/robbyrussell/oh-my-zsh
* branch master -> FETCH_HEAD
d848c948..af1709cf master -> origin/master
Updating d848c948..af1709cf
Fast-forward
LICENSE.txt | 2 +-
README.md | 51 +-
custom/themes/example.zsh-theme | 4 +
lib/compfix.zsh | 44 +-
lib/completion.zsh | 3 +
lib/correction.zsh | 1 +
lib/directories.zsh | 4 -
lib/functions.zsh | 18 +-
lib/git.zsh | 14 +-
lib/history.zsh | 56 +-
lib/spectrum.zsh | 2 +-
lib/termsupport.zsh | 2 +-
oh-my-zsh.sh | 40 +-
plugins/adb/README.md | 2 +-
plugins/adb/_adb | 11 +-
plugins/archlinux/README.md | 33 +-
plugins/archlinux/archlinux.plugin.zsh | 70 +-
plugins/asdf/asdf.plugin.zsh | 18 +-
plugins/autojump/autojump.plugin.zsh | 6 +-
plugins/aws/aws.plugin.zsh | 30 +-
plugins/bbedit/README.md | 6 +-
plugins/bgnotify/README.md | 4 +-
plugins/bundler/README.md | 6 +-
plugins/bundler/bundler.plugin.zsh | 7 +-
plugins/bwana/bwana.plugin.zsh | 4 +-
plugins/cargo/_cargo | 5 +-
plugins/catimg/catimg.plugin.zsh | 2 +-
plugins/catimg/catimg.sh | 2 +-
plugins/chruby/chruby.plugin.zsh | 22 +-
plugins/chucknorris/LICENSE | 2 -
plugins/chucknorris/fortunes/chucknorris | 2545 ++++++++++++++++++++++++++++++++++++++---------
plugins/coffee/_coffee | 4 +-
plugins/colored-man-pages/colored-man-pages.plugin.zsh | 2 +-
plugins/colorize/colorize.plugin.zsh | 5 +-
plugins/command-not-found/command-not-found.plugin.zsh | 2 +-
plugins/common-aliases/common-aliases.plugin.zsh | 4 +-
plugins/composer/composer.plugin.zsh | 2 +-
plugins/copydir/README.md | 10 +
plugins/copyfile/README.md | 10 +
plugins/dash/dash.plugin.zsh | 86 ++
plugins/debian/debian.plugin.zsh | 11 +-
plugins/dirhistory/dirhistory.plugin.zsh | 57 ++
plugins/django/django.plugin.zsh | 1 +
plugins/docker-compose/_docker-compose | 38 +-
plugins/docker-compose/docker-compose.plugin.zsh | 2 +
plugins/docker-machine/README.md | 19 +
plugins/docker-machine/_docker-machine | 359 +++++++
plugins/docker-machine/docker-machine.plugin.zsh | 33 +
plugins/docker/README.md | 2 +-
plugins/docker/_docker | 500 +++++++---
plugins/doctl/doctl.plugin.zsh | 9 +
plugins/dotenv/README.md | 19 +-
plugins/dotenv/dotenv.plugin.zsh | 15 +-
plugins/droplr/README.md | 2 +-
plugins/eecms/eecms.plugin.zsh | 20 +
plugins/emacs/emacs.plugin.zsh | 2 +-
plugins/ember-cli/README.md | 4 +-
plugins/ember-cli/ember-cli.plugin.zsh | 2 +-
plugins/emoji/README.md | 6 +-
plugins/emoji/emoji-data.txt | 4 +-
plugins/emoji/update_emoji.pl | 12 +-
plugins/emotty/emotty.plugin.zsh | 5 +-
plugins/extract/_extract | 2 +-
plugins/extract/extract.plugin.zsh | 8 +-
plugins/fasd/fasd.plugin.zsh | 2 +-
plugins/fedora/README.md | 3 -
plugins/fedora/fedora.plugin.zsh | 17 +-
plugins/forklift/README.md | 2 +-
plugins/forklift/forklift.plugin.zsh | 100 +-
plugins/frontend-search/README.md | 12 +-
plugins/frontend-search/frontend-search.plugin.zsh | 10 +-
plugins/geeknote/README.md | 2 +-
plugins/git-extras/README.md | 2 +-
plugins/git-extras/git-extras.plugin.zsh | 6 +-
plugins/git-flow-avh/git-flow-avh.plugin.zsh | 823 ++++++++-------
plugins/git-flow/git-flow.plugin.zsh | 4 +
plugins/git-hubflow/git-hubflow.plugin.zsh | 2 +-
plugins/git-prompt/git-prompt.plugin.zsh | 2 +-
plugins/git-prompt/gitstatus.py | 4 +-
plugins/git/git.plugin.zsh | 19 +-
plugins/github/README.md | 6 +-
plugins/github/_hub | 2 +
plugins/github/github.plugin.zsh | 10 +-
plugins/gitignore/gitignore.plugin.zsh | 4 +-
plugins/globalias/README.md | 2 +-
plugins/golang/golang.plugin.zsh | 4 +-
plugins/gpg-agent/gpg-agent.plugin.zsh | 49 +-
plugins/gradle/gradle.plugin.zsh | 6 +-
plugins/hanami/README.md | 32 +
plugins/hanami/hanami.plugin.zsh | 19 +
plugins/helm/helm.plugin.zsh | 7 +
plugins/heroku/_heroku | 151 ---
plugins/heroku/heroku.plugin.zsh | 9 +
plugins/history-substring-search/README.md | 6 +-
plugins/homestead/homestead.plugin.zsh | 10 +
plugins/httpie/README.md | 4 +-
plugins/iterm2/iterm2.plugin.zsh | 68 ++
plugins/jake-node/jake-node.plugin.zsh | 4 +-
plugins/jira/README.md | 1 +
plugins/jira/_jira | 1 +
plugins/jira/jira.plugin.zsh | 26 +-
plugins/kitchen/_kitchen | 4 +-
plugins/kops/kops.plugin.zsh | 9 +
plugins/kube-ps1/README.md | 81 ++
plugins/kube-ps1/kube-ps1.plugin.zsh | 147 +++
plugins/kubectl/kubectl.plugin.zsh | 69 +-
plugins/laravel5/laravel5.plugin.zsh | 2 +-
plugins/last-working-dir/last-working-dir.plugin.zsh | 6 +-
plugins/lein/_lein | 69 ++
plugins/lein/lein.plugin.zsh | 43 -
plugins/lighthouse/lighthouse.plugin.zsh | 2 +-
plugins/lol/lol.plugin.zsh | 3 +-
plugins/magic-enter/Readme.md | 14 +
plugins/magic-enter/magic-enter.plugin.zsh | 24 +
plugins/meteor/_meteor | 47 +-
plugins/minikube/minikube.plugin.zsh | 6 +
plugins/mix-fast/README.md | 4 +-
plugins/mix-fast/mix-fast.plugin.zsh | 2 +-
plugins/mix/_mix | 30 +-
plugins/mvn/README.md | 1 +
plugins/mvn/mvn.plugin.zsh | 162 ++-
plugins/nmap/nmap.plugin.zsh | 14 +-
plugins/npm/README.md | 26 +
plugins/npm/npm.plugin.zsh | 13 +-
plugins/npx/README.md | 31 +
plugins/npx/npx.plugin.zsh | 7 +
plugins/nvm/_nvm | 19 +-
plugins/oc/oc.plugin.zsh | 7 +
plugins/osx/README.md | 27 +
plugins/osx/osx.plugin.zsh | 269 +----
plugins/osx/spotify | 438 ++++++++
plugins/pass/_pass | 17 +-
plugins/per-directory-history/README.md | 24 +-
plugins/per-directory-history/per-directory-history.zsh | 2 +-
plugins/percol/README.md | 20 +
plugins/percol/percol.plugin.zsh | 22 +
plugins/perl/perl.plugin.zsh | 2 +-
plugins/perms/README.md | 6 +-
plugins/perms/perms.plugin.zsh | 8 +-
plugins/pip/_pip | 1 +
plugins/pod/_pod | 2 +-
plugins/pow/pow.plugin.zsh | 2 +-
plugins/pyenv/pyenv.plugin.zsh | 60 +-
plugins/python/_python | 54 -
plugins/rails/_rails | 3 +
plugins/rails/rails.plugin.zsh | 8 +-
plugins/rake-fast/README.md | 2 +-
plugins/rand-quote/README.md | 15 +
plugins/rand-quote/rand-quote.plugin.zsh | 36 +-
plugins/rbenv/rbenv.plugin.zsh | 3 +
plugins/repo/README.md | 2 +-
plugins/ruby/ruby.plugin.zsh | 8 +
plugins/rust/_rust | 67 +-
plugins/safe-paste/safe-paste.plugin.zsh | 4 +-
plugins/sbt/_sbt | 1 +
plugins/sbt/sbt.plugin.zsh | 1 +
plugins/scala/_scala | 4 +-
plugins/scd/README.md | 4 +-
plugins/scw/_scw | 2 +-
plugins/shrink-path/README.md | 6 +-
plugins/shrink-path/shrink-path.plugin.zsh | 17 +-
plugins/spring/README.md | 10 +-
plugins/sprunge/sprunge.plugin.zsh | 22 +-
plugins/ssh-agent/README.md | 4 +-
plugins/ssh-agent/ssh-agent.plugin.zsh | 7 +-
plugins/sublime/README.md | 6 +-
plugins/sublime/sublime.plugin.zsh | 48 +-
plugins/svn/README.md | 2 +-
plugins/swiftpm/_swift | 362 +++++++
plugins/symfony2/symfony2.plugin.zsh | 2 +
plugins/systemadmin/systemadmin.plugin.zsh | 1 -
plugins/taskwarrior/README.md | 2 +-
plugins/taskwarrior/_task | 2 +-
plugins/terraform/README.md | 14 +-
plugins/terraform/_terraform | 190 +++-
plugins/terraform/terraform.plugin.zsh | 7 +
plugins/textastic/README.md | 4 +-
plugins/thefuck/thefuck.plugin.zsh | 5 +-
plugins/tmux/tmux.plugin.zsh | 153 ++-
plugins/tmuxinator/_tmuxinator | 55 +-
plugins/tmuxinator/tmuxinator.plugin.zsh | 5 +
plugins/transfer/README.md | 24 +
plugins/transfer/transfer.plugin.zsh | 67 ++
plugins/ubuntu/readme.md | 2 +-
plugins/ubuntu/ubuntu.plugin.zsh | 79 +-
plugins/ufw/_ufw | 115 +++
plugins/urltools/urltools.plugin.zsh | 2 +-
plugins/vagrant-prompt/README.md | 6 +
plugins/vagrant-prompt/vagrant-prompt.plugin.zsh | 38 +
plugins/vagrant/_vagrant | 4 +-
plugins/vault/README.md | 8 +-
plugins/vim-interaction/vim-interaction.plugin.zsh | 10 +-
plugins/virtualenvwrapper/virtualenvwrapper.plugin.zsh | 18 +-
plugins/vscode/README.md | 38 +
plugins/vscode/vscode.plugin.zsh | 19 +
plugins/vundle/vundle.plugin.zsh | 2 +-
plugins/wd/README.md | 23 +-
plugins/wd/_wd.sh | 21 +-
plugins/wd/wd.sh | 71 +-
plugins/web-search/web-search.plugin.zsh | 2 +
plugins/wp-cli/README.md | 8 +-
plugins/wp-cli/wp-cli.plugin.zsh | 2 +-
plugins/xcode/README.md | 6 +-
plugins/xcode/xcode.plugin.zsh | 22 +-
plugins/yarn/README.md | 33 +
plugins/yarn/_yarn | 345 +++++++
plugins/yarn/yarn.plugin.zsh | 99 +-
plugins/z/z.1 | 6 +-
plugins/z/z.sh | 75 +-
plugins/zeus/_zeus | 110 +-
plugins/zsh-navigation-tools/LICENSE | 8 +-
plugins/zsh_reload/README.md | 23 +
plugins/zsh_reload/zsh_reload.plugin.zsh | 19 +-
templates/zshrc.zsh-template | 16 +-
themes/adben.zsh-theme | 6 +-
themes/agnoster.zsh-theme | 6 +-
themes/arrow.zsh-theme | 2 +-
themes/avit.zsh-theme | 6 +-
themes/bira.zsh-theme | 2 +-
themes/clean.zsh-theme | 2 +-
themes/cloud.zsh-theme | 4 +-
themes/duellj.zsh-theme | 2 +-
themes/emotty.zsh-theme | 4 +
themes/example.zsh-theme | 5 -
themes/funky.zsh-theme | 4 +-
themes/gallifrey.zsh-theme | 2 +-
themes/gnzh.zsh-theme | 1 -
themes/half-life.zsh-theme | 6 +-
themes/itchy.zsh-theme | 2 -
themes/jreese.zsh-theme | 2 -
themes/lambda.zsh-theme | 2 -
themes/lukerandall.zsh-theme | 2 +-
themes/macovsky-ruby.zsh-theme | 2 +-
themes/macovsky.zsh-theme | 2 +-
themes/mh.zsh-theme | 4 +-
themes/michelebologna.zsh-theme | 10 +-
themes/mikeh.zsh-theme | 4 +-
themes/mortalscumbag.zsh-theme | 6 +
themes/philips.zsh-theme | 2 +-
themes/pmcgee.zsh-theme | 2 +-
themes/rkj-repos.zsh-theme | 7 +-
themes/rkj.zsh-theme | 2 +-
themes/simple.zsh-theme | 2 +-
themes/sorin.zsh-theme | 8 +-
themes/sporty_256.zsh-theme | 2 +-
themes/steeef.zsh-theme | 9 +-
themes/sunaku.zsh-theme | 1 -
themes/tonotdo.zsh-theme | 4 +-
themes/xiong-chiamiov-plus.zsh-theme | 2 +-
themes/xiong-chiamiov.zsh-theme | 2 +-
tools/check_for_upgrade.sh | 10 +-
tools/install.sh | 16 +-
tools/theme_chooser.sh | 2 +-
tools/upgrade.sh | 2 +-
254 files changed, 7566 insertions(+), 2500 deletions(-)
create mode 100644 custom/themes/example.zsh-theme
delete mode 100644 plugins/chucknorris/LICENSE
create mode 100644 plugins/copydir/README.md
create mode 100644 plugins/copyfile/README.md
create mode 100644 plugins/dash/dash.plugin.zsh
create mode 100644 plugins/docker-machine/README.md
create mode 100644 plugins/docker-machine/_docker-machine
create mode 100644 plugins/docker-machine/docker-machine.plugin.zsh
create mode 100644 plugins/doctl/doctl.plugin.zsh
create mode 100644 plugins/eecms/eecms.plugin.zsh
delete mode 100644 plugins/fedora/README.md
mode change 100644 => 120000 plugins/fedora/fedora.plugin.zsh
mode change 100644 => 100755 plugins/git-flow-avh/git-flow-avh.plugin.zsh
create mode 100644 plugins/hanami/README.md
create mode 100644 plugins/hanami/hanami.plugin.zsh
create mode 100644 plugins/helm/helm.plugin.zsh
delete mode 100644 plugins/heroku/_heroku
create mode 100644 plugins/heroku/heroku.plugin.zsh
create mode 100644 plugins/homestead/homestead.plugin.zsh
create mode 100644 plugins/iterm2/iterm2.plugin.zsh
create mode 100644 plugins/kops/kops.plugin.zsh
create mode 100644 plugins/kube-ps1/README.md
create mode 100644 plugins/kube-ps1/kube-ps1.plugin.zsh
create mode 100644 plugins/lein/_lein
delete mode 100644 plugins/lein/lein.plugin.zsh
create mode 100644 plugins/magic-enter/Readme.md
create mode 100644 plugins/magic-enter/magic-enter.plugin.zsh
create mode 100644 plugins/minikube/minikube.plugin.zsh
create mode 100644 plugins/npm/README.md
create mode 100644 plugins/npx/README.md
create mode 100644 plugins/npx/npx.plugin.zsh
create mode 100644 plugins/oc/oc.plugin.zsh
create mode 100644 plugins/osx/spotify
create mode 100644 plugins/percol/README.md
create mode 100644 plugins/percol/percol.plugin.zsh
delete mode 100644 plugins/python/_python
create mode 100644 plugins/rand-quote/README.md
create mode 100644 plugins/swiftpm/_swift
create mode 100644 plugins/terraform/terraform.plugin.zsh
create mode 100644 plugins/tmuxinator/tmuxinator.plugin.zsh
create mode 100644 plugins/transfer/README.md
create mode 100644 plugins/transfer/transfer.plugin.zsh
create mode 100644 plugins/ufw/_ufw
create mode 100644 plugins/vagrant-prompt/README.md
create mode 100644 plugins/vagrant-prompt/vagrant-prompt.plugin.zsh
create mode 100644 plugins/vscode/README.md
create mode 100644 plugins/vscode/vscode.plugin.zsh
create mode 100644 plugins/yarn/README.md
create mode 100644 plugins/yarn/_yarn
create mode 100644 plugins/zsh_reload/README.md
delete mode 100644 themes/example.zsh-theme
Current branch master is up to date.
__ __
____ / /_ ____ ___ __ __ ____ _____/ /_
/ __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \
/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / /
\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/
/____/
Hooray! Oh My Zsh has been updated and/or is at the current version.
To keep up on the latest news and updates, follow us on twitter: https://twitter.com/ohmyzsh
Get your Oh My Zsh swag at: http://shop.planetargon.com/
23:32:03 ~
$ ls
Applications Luniitheque Sites
Desktop Movies Snapshots
Documents Music cedeber.hvault
Downloads Pictures certbot.log
Library Public safari_custom_stylesheet.css
23:32:05 ~
$ ls
Applications Luniitheque Sites
Desktop Movies Snapshots
Documents Music cedeber.hvault
Downloads Pictures certbot.log
Library Public safari_custom_stylesheet.css
23:32:06 ~
$ ls
Applications Luniitheque Sites
Desktop Movies Snapshots
Documents Music cedeber.hvault
Downloads Pictures certbot.log
Library Public safari_custom_stylesheet.css
23:32:07 ~
$ ls
Applications Luniitheque Sites
Desktop Movies Snapshots
Documents Music cedeber.hvault
Downloads Pictures certbot.log
Library Public safari_custom_stylesheet.css
23:32:08 ~
$
|
sign create the most lag.ls
command shown some difficulties to scroll smoothlycreate mode 100644
scrolled perfectly wellI don't know if it can help, I don't find any logic here except the amount of space char 🤔
@cedeber Totally agree, there is no rhyme or reason to any of this :) I am also getting very bizarre behaviour (see 🍺report above).
However, looking at your scroll buffer... Could you do me a favour and temporarily kill your $PS1 provider script, then restart Terminal and test from scratch?
I get a feeling Terminal chokes on non-BMP code points.
So basically these are not your friends:
@carloscabanero Staying on the subject of terminal emulators, here's a good example what not to do in terms of GPU-side glyph cache management. Although it is designed to make an optical appearance of instant font resizing, Pragmata Pro is the ideal litmus paper to test some interesting assumptions people make when they think about typefaces. Try pasting Pragmata_Pro_All_chars.txt
into Kitty's buffer, then change the font size and scroll around a bit.
I guess my point is that it is not always immediately clear what exactly goes "nuts" — the font, or the software that is trying to put it on screen. In case of Terminal.app it is clearly the latter. Not sure about Blink, but happy to discuss.
To the next aspiring engineer working on the next VT100 emulator, I highly recommend using only Pragmata font during the development — not only for his code editor, but also for testing the software :)
Both of Pragmata (normal and mono) make Terminal.app very slow on macOS. Everything runs perfectly with SF Mono for instance, so it doesn't look like that it is a generic performance problem (I reset the Terminal to be sure) Strangely, PragmataPro Mono Bold is not affected and the Terminal runs smoothly.