Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Go-to definitions location between files #516

Merged
merged 11 commits into from
Jun 2, 2022
Merged

Conversation

DieMyst
Copy link
Member

@DieMyst DieMyst commented Jun 1, 2022

Add compiler implementation that returns a new context with information about necessary tokens.

fixes DXJ-32

@DieMyst DieMyst requested a review from alari June 1, 2022 10:08
@linear
Copy link

linear bot commented Jun 1, 2022

DXJ-32 `Ctrl + click` that works between multiple files

Navigation in aqua code between different aqua files

depends on DXJ-21

@DieMyst DieMyst marked this pull request as ready for review June 1, 2022 10:33
type ValidatedCtxT[I, E, S[_]] = ValidatedCtx[I, E, S] => ValidatedCtx[I, E, S]
type Err = AquaError[I, E, S]
type Ctx = NonEmptyMap[I, C]
// TODO: remove CompilerState[S] from the left
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it solved?

@@ -22,91 +22,52 @@ import cats.syntax.semigroup.*
import cats.{~>, Comonad, Monad, Monoid, Order}
import scribe.Logging

trait AquaCompiler[C] extends Logging {
class AquaCompiler[F[_]: Monad, E, I: Order, S[_]: Comonad, C](
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can do C: Monoid : Picker, just for the sake of beauty :)

def finCtx: RawContext => ValidatedNec[SemanticError[S], RawContext] =
finInitCtx(_, initCtx)
}
class HeaderHandler[S[_]: Comonad, C](implicit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why HeaderHandler?
Can you move it to a separate file

def addPart(ctx: A, part: (A, RawPart)): A
}

final class PickerOps[A: Picker](p: A) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any way to have top-level classes in their own files?

@alari
Copy link
Member

alari commented Jun 2, 2022

Could you update the minor Aqua version please? I think it's time to make a release

@DieMyst DieMyst merged commit 5a7450b into main Jun 2, 2022
@DieMyst DieMyst deleted the rawcontext-refactoring branch June 2, 2022 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants