Files
ansible_role_package/tasks/pkgs/ansible_ls.yml

53 lines
1.6 KiB
YAML

# vim: set filetype=yaml.ansible :
#
## Package: ansible_ls
## Description: language server for ansible yaml
## Version: latest
## Methods: [source, system]
## Helpers: npm
---
- name: Set ansible_ls default facts # {{{
ansible.builtin.set_fact:
ansible_ls:
methods:
- source
- system
npm_pkg:
name: '@ansible/ansible-language-server'
global: true
version: "{{ ansible_ls_version | default('latest') }}"
pkg_deps:
- nodejs
# }}}
- name: Configure ansible_ls
when:
- "'ansible_ls' not in __configured"
block:
- name: Set ansible_ls install method
when:
- ansible_ls_imethod is undefined
ansible.builtin.set_fact:
ansible_ls_imethod: "{{ imethod if imethod in ansible_ls.methods else ansible_ls.methods[0] }}"
- name: Configure ansible_ls source install
when:
- ansible_ls_imethod == 'source'
block:
- name: Load required installation dependencies
loop: "{{ ansible_ls.pkg_deps }}"
loop_control:
loop_var: dep
ansible.builtin.include_tasks: "pkgs/{{ dep }}.yml"
- name: Append ansible ls to pkg_npm
ansible.builtin.set_fact:
pkg_npm: "{{ pkg_npm + [ansible_ls.npm_pkg] }}"
- name: Finalise ansible_ls source install
ansible.builtin.set_fact:
ansible_ls_install: "{{ ansible_ls_imethod }}={{ ansible_ls.npm_pkg }}"
- name: Finalise ansible_ls configuration
ansible.builtin.set_fact:
__configured: "{{ __configured | combine( { 'ansible_ls': ansible_ls_install } ) }}"