question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

AwesomeWM - Go to declaration (ctrl+B) - enhancement

See original GitHub issue

I’m using very often emmy lua in idea for AwesomeWM implementation.

It’s working good. I’m big fan of this approach. There is one topic which can improve my work and speed up my process very rapidly.

The feature Go to declaration (ctrl+B) works very good if the expression corresponds with library name. For example, naughty.notify() is correctly navigated to naughty.lua it is correct.

But for example: awful.keyboard.append_client_keybindings(), The aweful is the library defined by directory awful/init.lua and the keyboard.lua is declared in the init.lua and the keyboard.lua is placed in the directory awful. But this is not matched and jump to declaration doesn’t work, it is not possible to jump to keyboard.lua too. No match found.

Is it possible to extend Go to declaration for standard usage with directory and included lib files, like: aweful/init.lua and aweful/keyboard.lua => awful.keyboard.append_client_keybindings()

For more info, you can install awesome package, and look to libraries in /usr/share/awesome/lib package.

I understand that always there will be dynamic linkages, lua is very dynamic. But this behavior with directory and inside libraries with same name is fixed concept which I see many times in different projects too.

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:12 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
CppCXYcommented, Dec 18, 2021

This is not emmylua annotation syntax, here should be

-- fishlive/layout.lua


---@class fishlive.layout
local layout = { _NAME = "fishlive.layout" }

return layout

and init,lua

-- init.lua

---@class fishlive
local fishlive = {}
---@type fishlive.layout
fishlive.layout = require "fishlive.layout"

0reactions
raven2czcommented, Oct 28, 2022

I started to use vscode with lua integration. It works perfectly for awesomewm.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Topic 03-declarative-layout.md - awesome API documentation
The AwesomeWM widget system. This document explains how to define, place and manage widgets. The default widgets. Widgets. Awesome provides 2 ...
Read more >
Module awful.spawn - awesome API documentation
Spawning of programs. This module provides methods to start programs and supports startup notifications, which allows for callbacks and applying ...
Read more >
Class client - awesome API documentation
To get a list of all clients, use client:get: for _, c in ipairs(client.get()) do -- do something end. To execute a callback...
Read more >
Class tag - awesome API documentation
To get all tags for the focused screen: ... To get the current tag of the focused client: ... Move the focused client...
Read more >
awesome(1) - Awesome Window Manager
Move window. Mod4 + Button3 on client window. Resize window. DEFAULT KEY BINDINGS. Help.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found