by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 24 04:31

    nelsam on vlang

    (compare)

  • May 24 04:31
    nelsam closed #193
  • May 24 04:31

    nelsam on master

    plugin: add vsyntax and vfmt pl… syntax: add tests for the gener… vfmt/vsyntax: add tests and ref… (compare)

  • May 24 04:28
    nelsam edited #193
  • May 24 04:27
    nelsam edited #193
  • May 24 04:25
    nelsam synchronize #193
  • May 24 04:25

    nelsam on vlang

    plugin: add vsyntax and vfmt pl… syntax: add tests for the gener… vfmt/vsyntax: add tests and ref… (compare)

  • May 13 04:35

    nelsam on master

    Create CNAME (compare)

  • May 02 22:08

    nelsam on module-fixes

    (compare)

  • May 02 21:54
    nelsam closed #197
  • May 02 21:54

    nelsam on master

    modules: fix up vidar for worki… (compare)

  • May 02 20:24
    nelsam opened #197
  • May 02 20:23

    nelsam on module-fixes

    modules: fix up vidar for worki… (compare)

  • Apr 07 06:44
    dudymas opened #196
  • Jan 26 07:53
    Kvaz1r opened #195
  • Jan 21 21:17
    Kvaz1r ready_for_review #194
  • Jan 21 21:17
    Kvaz1r edited #194
  • Jan 21 21:12
    Kvaz1r synchronize #194
  • Jan 21 21:11
    Kvaz1r synchronize #194
  • Jan 19 21:57
    Kvaz1r opened #194
Kvaz1r
@Kvaz1r
Found an interesting project - fyne - Cross platform GUI in Go based on Material Design. It still doesn't contain many controls but can be good replacement for gxui in future since in active development phase.
Although a bit slowly, even in comparing to gxui, but I will try it for my next pet-project.
Samuel Nelson
@nelsam
I'll keep an eye on it

I've been distracted lately, but I am still slowly changing the internal types in vidar so that they no longer embed the mixins types - i.e. instead of

type Editor struct {
    mixins.CodeEditor
    // Other fields...
}

we will have:

type Editor struct {
    box ui.TextBox // the gxui.CodeEditor is stored here
}
this will decouple vidar from gxui so that if/when we change to fyne or shiny or some other UI, all we have to do is make a quick wrapper package that acts like our ui types expect
Kvaz1r
@Kvaz1r
It's reasonable way, it will be much easier change something in one place. Just from curiosity are you did for now many changes by comparison to github master branch?
Samuel Nelson
@nelsam
There are a bunch of changes to the core parts of vidar (commander, editor, etc), but the command package should mostly stay the same.
Samuel Nelson
@nelsam
@Kvaz1r just FYI: I think I finally tracked down that lockup when selecting text. I merged a fix here: nelsam/gxui#19
Kvaz1r
@Kvaz1r
great, I sometimes watched this behaviour but always thought the problem in my old laptop :D
Kvaz1r
@Kvaz1r
@nelsam , Go team active develop gopls tool("is an implementation of the Language Server Protocol (LSP) server for Go. LSP allows any text editor to be extended with IDE-like features (see https://langserver.org for details)"). It seems very perspective and I think it will interesting to you.
Samuel Nelson
@nelsam
yeah, I've been staring at it pretty often with the hopes of using it soon
I'm not quite ready to work on that yet though
if you want to start working on it, feel free :)
Kvaz1r
@Kvaz1r
no, it looks like a hard one issue and I am not a big fun of such tasks =)
Kvaz1r
@Kvaz1r
but if you know some simple or at least simpler issue I would like implement it since next month I will have some time for open source.
Samuel Nelson
@nelsam
I had forgotten about the PRs on gxui; just went through and reviewed them all
Kvaz1r
@Kvaz1r
great. If I remember correctly after github.com/nelsam/gxui/pull/16/ will be possible to simplify tab swithing.
I am going to implement fix for #178 but not sure how better to do it. What should be extended - struct Find or FindBox ?
Samuel Nelson
@nelsam
the main logic needs to be on Find, but you should add some key bindings (e.g. ctrl-n and ctrl-p) to the FindBox, too
you'll have to override KeyPress(event gxui.KeyboardEvent) (consume bool) on the FindBox in order to handle key bindings
we could alternatively bind entirely separate commands in order to cycle through all selections in the file, but that probably isn't ideal since I'm planning to change find anyway
Kvaz1r
@Kvaz1r
the thin thing for me is how add new controls to the Find because I don't see how it layouts existing widgets.
Samuel Nelson
@nelsam
you should be able to update f.Start so that instead of f.next = f.pattern, you do:
patternLayout = theme.CreateLinearLayout()
patternLayout.Add(f.pattern)
patternLayout.Add(prev)
patternLayout.Add(next)
f.next = patternLayout
Kvaz1r
@Kvaz1r
ahh, right. But LinearLayout doesn't fit here because f.next require Focusable. Maybe make File LinearLayout as it done for Locator?
Samuel Nelson
@nelsam
I'd make a separate custom LinearLayout with Focusable methods, similar to Locator except keeping File a separate type
embedding gxui logic into our types that deal with logic was a big mistake that I'm still trying to fix in a different branch
Kvaz1r
@Kvaz1r

I tried to expand File with such Layout but stuck with 2 problems:

  1. New control don't correctly get focus (need to add separate click and only after that the control can handle input) ;
  2. After find is started the control replaced with findbox.

Here is Kvaz1r/vidar@694b5b0.

Kvaz1r
@Kvaz1r
Solved first point - forgot to override Key{} methods.
Kvaz1r
@Kvaz1r
Point two also solved - FindBox have maximum width so nothing after isn't showing.
Samuel Nelson
@nelsam
nice!
I've been meaning to take a closer look at it, but I'm actually in the middle of integrating gopls
Kvaz1r
@Kvaz1r
great, will be in next release? =)
Samuel Nelson
@nelsam
should be, yeah; I've got the core logic working, but I need to update a bunch of plugins to make use of it
although, right now I'm using go-langserver instead of gopls during development because gopls isn't documented super well just yet
Kvaz1r
@Kvaz1r
looks interesting. Which features already has or will has gopls that not exist in go-langserver ?
Samuel Nelson
@nelsam
gopls is just maintained by the core go team; go-langserver is a legacy language server that sourcegraph wrote
sourcegraph is no longer improving go-langserver because they want to put the majority of their effort into gopls
however, since gopls is new, it doesn't have as good of documentation or error messages - so it's just easier right now to focus vidar's language server protocol support on go-langserver
Kvaz1r
@Kvaz1r
ah, right. Didn't know that go-langserver is not maintaining now.
Kvaz1r
@Kvaz1r
Hello @nelsam , can you take a look at #188 ? I would like found/get/write solution for this really annoying bug but I don't know how it should been implemented.
The reason is when changing tab with click and not by special command ChangeTab operation FileChanged don't apply.
Kvaz1r
@Kvaz1r
And that's obvious because changing made editor and not tab itself.
Of course it possible to add operations FocusGainOn and FocusLoseOn but in this case every command must store old value and made flush when focus changed. And if it will store old value then it haven't much sense in keeping first argument in FileChanged. But maybe there is better solution.
And this won't be really harmful because currently only one operation handles FileChanged.
Samuel Nelson
@nelsam
I'll do my best
should be able to look before too long
Samuel Nelson
@nelsam
hey, sorry about being away for so long ... digitalocean had mass layoffs and I lost my job, so I've been getting used to a new company and everything
it's been a difficult year so far
Kvaz1r
@Kvaz1r
hey. But new job is also remote?
Samuel Nelson
@nelsam
yeah