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

feat(config): refresh stale prefs #88

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Ajaymamtora
Copy link

feat(settings): refresh state

Description

The state of the plugin internally does not always reflect the local and global config files. For example, if I define a an exclusions property in my local config, then load everything with neoconf. Then I remove an item and use neoconf.get(), it will return the old state of the config. Using this refresh method re-fetches the items from the local and global file.

I need this because I created a binding in neotree to toggle a node as excluded. I change the highlights as excluded using the component field:
image

However this would never work properly without me being able to reset the internal state so that the item is removed from neoconf.

Now each time I invoke the binding that toggles this, the node is correctly toggled from the exclusions list in the local config file using my own separate json parsing.

setup.filesystem.commands...
        toggle_exclude_item = function(state)
          local node = state.tree:get_node()
          local path = node:get_id()

          require("utils.project_settings").toggle_string_in_table(path, "exclusions")

          print("Toggle exclude item at " .. tostring(path))

          vim.cmd("Neotree close")
          vim.defer_fn(function()
            require("neoconf.settings").refresh()
            require("modules.base.configs.ui.neo-tree").neo_tree()
            vim.cmd("Lazy reload neo-tree.nvim")
          end, 100)
        end,
      },

Related Issue(s)

#61 61

Screenshots

feat(settings): refresh state
Copy link
Contributor

This PR is stale because it has been open 30 days with no activity.

@github-actions github-actions bot added the stale label Sep 26, 2024
@Ajaymamtora
Copy link
Author

.

@github-actions github-actions bot removed the stale label Sep 27, 2024
Copy link
Contributor

This PR is stale because it has been open 30 days with no activity.

@github-actions github-actions bot added the stale label Oct 27, 2024
@Ajaymamtora
Copy link
Author

.

@github-actions github-actions bot removed the stale label Oct 29, 2024
Copy link
Contributor

This PR is stale because it has been open 30 days with no activity.

@github-actions github-actions bot added the stale label Nov 28, 2024
@Ajaymamtora
Copy link
Author

.

@github-actions github-actions bot removed the stale label Nov 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant